Compartir a través de


TransientAttribute Clase

Definición

Marca un parámetro en una subclase NSObject como transitorio.

[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false)]
public sealed class TransientAttribute : Attribute
type TransientAttribute = class
    inherit Attribute
Herencia
TransientAttribute
Atributos

Comentarios

Este atributo se aplica a los parámetros y solo se usa al realizar la transición de Objective-C a C#. Durante esas transiciones, los distintos parámetros de Objective-C NSObjects se encapsulan en una representación administrada del objeto.

El tiempo de ejecución tomará una referencia al objeto nativo y mantendrá la referencia hasta que se haya ido la última referencia administrada al objeto y el GC tendrá la oportunidad de ejecutarse.

En algunos casos, es importante que el entorno de ejecución de C# no mantenga una referencia al objeto nativo. Esto sucede a veces cuando el código nativo subyacente ha asociado un comportamiento especial al ciclo de vida del parámetro. Por ejemplo: el destructor del parámetro realizará alguna acción de limpieza o eliminará algún recurso precioso.

Este atributo informa al tiempo de ejecución de que desea que el objeto se elimine si es posible al volver a Objective-C desde el método sobrescrito.

La regla es sencilla: si el tiempo de ejecución tenía que crear una nueva representación administrada desde el objeto nativo, al final de la función, se quitará el recuento de retención del objeto nativo y se borrará la propiedad Handle del objeto administrado. Esto significa que si mantiene una referencia al objeto administrado, esa referencia será inútil (al invocar métodos en él se producirá una excepción).

Si el objeto pasado no se ha creado o si ya hay una representación administrada pendiente del objeto, la eliminación forzada no tiene lugar.

Constructores

TransientAttribute()

Inicializa un nuevo atributo Transitorio.

Se aplica a