ISafeVarargs Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Aserción del programador de que el cuerpo del método o constructor anotado no realiza operaciones potencialmente no seguras en su parámetro varargs.
[Android.Runtime.Register("java/lang/SafeVarargs", "", "Java.Lang.ISafeVarargsInvoker")]
public interface ISafeVarargs : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.Annotation.IAnnotation
[<Android.Runtime.Register("java/lang/SafeVarargs", "", "Java.Lang.ISafeVarargsInvoker")>]
type ISafeVarargs = interface
interface IAnnotation
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Atributos
- Implementaciones
Comentarios
Aserción del programador de que el cuerpo del método o constructor anotado no realiza operaciones potencialmente no seguras en su parámetro varargs. Al aplicar esta anotación a un método o constructor, se suprimen las advertencias no activadas sobre un tipo de aridad de variable no repetible (vararg) y se suprimen las advertencias no activadas sobre la creación de matrices parametrizadas en los sitios de llamada.
Además de las restricciones de uso impuestas por su Target @Target meta anotación, los compiladores deben implementar restricciones de uso adicionales en este tipo de anotación; es un error en tiempo de compilación si una declaración de método o constructor se anota con una @SafeVarargs anotación y: <ul><li> la declaración es un método de aridad fijo o constructor.
<li> la declaración es un método de aridad variable que no static es ni ni finalprivate.
</ul>
Se recomienda a los compiladores emitir advertencias cuando este tipo de anotación se aplica a un método o declaración de constructor donde:
<ul>
<li> El parámetro de aridad de variable tiene un tipo de elemento reifiable, que incluye tipos primitivos, Object, y String. (Las advertencias desactivadas que este tipo de anotación suprime ya no se producen para un tipo de elemento actualizable).
<li> El cuerpo de la declaración de método o constructor realiza operaciones potencialmente no seguras, como una asignación a un elemento de la matriz del parámetro de arity variable que genera una advertencia no desactivada. Algunas operaciones no seguras no desencadenan una advertencia desactivada. Por ejemplo, el alias en
<blockquote>
@SafeVarargs // Not actually safe!
static void m(List<String>... stringLists) {
Object[] array = stringLists;
List<Integer> tmpList = Arrays.asList(42);
array[0] = tmpList; // Semantically invalid, but compiles without warnings
String s = stringLists[0].get(0); // Oh no, ClassCastException at runtime!
}
</blockquote>
conduce a un ClassCastException en tiempo de ejecución.
Las versiones futuras de la plataforma pueden exigir errores del compilador para estas operaciones no seguras.
</ul>
Agregado en la versión 1.7.
Java documentación para java.lang.SafeVarargs.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Propiedades
| Nombre | Description |
|---|---|
| Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
| JniIdentityHashCode |
Devuelve el valor de |
| JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
| JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
| PeerReference |
Devuelve un JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
Métodos
| Nombre | Description |
|---|---|
| AnnotationType() |
Devuelve la interfaz de anotación de esta anotación. (Heredado de IAnnotation) |
| Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
| DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
| Equals(Object) |
Devuelve true si el objeto especificado representa una anotación que es lógicamente equivalente a esta. (Heredado de IAnnotation) |
| Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
| GetHashCode() |
Devuelve el código hash de esta anotación. (Heredado de IAnnotation) |
| SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
| SetJniManagedPeerState(JniManagedPeerStates) |
Aserción del programador de que el cuerpo del método o constructor anotado no realiza operaciones potencialmente no seguras en su parámetro varargs. (Heredado de IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
| ToString() |
Devuelve una representación de cadena de esta anotación. (Heredado de IAnnotation) |
| UnregisterFromRuntime() |
Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue . (Heredado de IJavaPeerable) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Aserción del programador de que el cuerpo del método o constructor anotado no realiza operaciones potencialmente no seguras en su parámetro varargs. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |