Class PropertyBuildInfo
Contiene información acerca de la construcción de una propiedad.
Inherited Members
Namespace: TheXDS.MCART.Types
Assembly: MCART.TypeFactory.dll
Syntax
public class PropertyBuildInfo : MemberBuildInfo<PropertyBuilder>
Constructors
| Edit this page View SourcePropertyBuildInfo(TypeBuilder, PropertyBuilder, FieldBuilder)
Inicializa una nueva instancia de la clase PropertyBuildInfo.
Declaration
public PropertyBuildInfo(TypeBuilder typeBuilder, PropertyBuilder property, FieldBuilder field)
Parameters
Type | Name | Description |
---|---|---|
TypeBuilder | typeBuilder | Instancia de TypeBuilder en la cual se ha definido la propiedad. |
PropertyBuilder | property | PropertyBuilder que describe a la propiedad que ha sido creada. |
FieldBuilder | field | Campo de almacenamiento definido para la propiedad. |
PropertyBuildInfo(TypeBuilder, PropertyBuilder, ILGenerator)
Inicializa una nueva instancia de la clase PropertyBuildInfo.
Declaration
public PropertyBuildInfo(TypeBuilder typeBuilder, PropertyBuilder property, ILGenerator getter)
Parameters
Type | Name | Description |
---|---|---|
TypeBuilder | typeBuilder | Instancia de TypeBuilder en la cual se ha definido la propiedad. |
PropertyBuilder | property | PropertyBuilder que describe a la propiedad que ha sido creada. |
ILGenerator | getter | ILGenerator que permite definir el código a ejecutar para el bloque get de la propiedad. |
PropertyBuildInfo(TypeBuilder, PropertyBuilder, ILGenerator?, ILGenerator?)
Inicializa una nueva instancia de la clase PropertyBuildInfo.
Declaration
public PropertyBuildInfo(TypeBuilder typeBuilder, PropertyBuilder property, ILGenerator? getter, ILGenerator? setter)
Parameters
Type | Name | Description |
---|---|---|
TypeBuilder | typeBuilder | Instancia de TypeBuilder en la cual se ha definido la propiedad. |
PropertyBuilder | property | PropertyBuilder que describe a la propiedad que ha sido creada. |
ILGenerator | getter | ILGenerator que permite definir el código a ejecutar para el bloque get de la propiedad. |
ILGenerator | setter | ILGenerator que permite definir el código a ejecutar para el bloque set de la propiedad. |
Properties
| Edit this page View SourceField
Referencia al FieldBuilder utilizado para construir el campo de almacenamiento de la propiedad en caso de utilizar uno.
Declaration
public FieldBuilder? Field { get; }
Property Value
Type | Description |
---|---|
FieldBuilder | El FieldBuilder del campo de almacenamiento, o null si la propiedad no utiliza un campo para almacenar su valor actual. |
Getter
Referencia al ILGenerator del método get de la propiedad.
Declaration
public ILGenerator? Getter { get; }
Property Value
Type | Description |
---|---|
ILGenerator | Un ILGenerator que puede utilizarse para definir el método get de la propiedad, o null si la propiedad es definida como una propiedad automática o si la propiedad no contiene un método get. |
Setter
Referencia al ILGenerator del método set de la propiedad.
Declaration
public ILGenerator? Setter { get; }
Property Value
Type | Description |
---|---|
ILGenerator | Un ILGenerator que puede utilizarse para definir el método set de la propiedad, o null si la propiedad es definida como una propiedad automática o si la propiedad no contiene un método set. |
Methods
| Edit this page View SourceCreate(TypeBuilder, string, Type, bool, MemberAccess, bool)
Declaration
public static PropertyBuildInfo Create(TypeBuilder tb, string name, Type type, bool writable, MemberAccess access, bool @virtual)
Parameters
Type | Name | Description |
---|---|---|
TypeBuilder | tb | Constructor del tipo en el cual crear la nueva propiedad. |
string | name | Nombre de la nueva propiedad. |
Type | type | Tipo de la nueva propiedad. |
bool | writable | true para crear una propiedad que contiene accesor de escritura (accesor set), false para no incluir un accesor de escritura en la propiedad. |
MemberAccess | access | Nivel de acceso de la nueva propiedad. |
bool | virtual | Si se establece en true, la propiedad será definida como virtual, por lo que podrá ser reemplazada en una clase derivada. |
Returns
Type | Description |
---|---|
PropertyBuildInfo | Un PropertyBuildInfo que contiene información sobre la propiedad que ha sido construida. |
Remarks
La propiedad generada requerirá que se implementen los accesores antes de construir el tipo.
CreateWriteOnly(TypeBuilder, string, Type, MemberAccess, bool)
Crea una propiedad de solo escritura en el tipo.
Declaration
public static PropertyBuildInfo CreateWriteOnly(TypeBuilder tb, string name, Type type, MemberAccess access, bool @virtual)
Parameters
Type | Name | Description |
---|---|---|
TypeBuilder | tb | Constructor del tipo en el cual crear la nueva propiedad. |
string | name | Nombre de la nueva propiedad. |
Type | type | Tipo de la nueva propiedad. |
MemberAccess | access | Nivel de acceso de la nueva propiedad. |
bool | virtual | Si se establece en true, la propiedad será definida como virtual, por lo que podrá ser reemplazada en una clase derivada. |
Returns
Type | Description |
---|---|
PropertyBuildInfo | Un PropertyBuildInfo que contiene información sobre la propiedad que ha sido construida. |
Operators
| Edit this page View Sourceimplicit operator FieldInfo?(PropertyBuildInfo)
Convierte implícitamente un valor PropertyBuildInfo en un FieldInfo.
Declaration
public static implicit operator FieldInfo?(PropertyBuildInfo buildInfo)
Parameters
Type | Name | Description |
---|---|---|
PropertyBuildInfo | buildInfo | PropertyBuildInfo desde el cual extraer el FieldInfo. |
Returns
Type | Description |
---|---|
FieldInfo |