Show / Hide Table of Contents

Class PropertyBuildInfo

Contiene información acerca de la construcción de una propiedad.

Inheritance
object
MemberBuildInfo<PropertyBuilder>
PropertyBuildInfo
Inherited Members
MemberBuildInfo<PropertyBuilder>.TypeBuilder
MemberBuildInfo<PropertyBuilder>.Member
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: TheXDS.MCART.Types
Assembly: MCART.TypeFactory.dll
Syntax
public class PropertyBuildInfo : MemberBuildInfo<PropertyBuilder>

Constructors

| Edit this page View Source

PropertyBuildInfo(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.

| Edit this page View Source

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.

| Edit this page View Source

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 Source

Field

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.

| Edit this page View Source

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.

| Edit this page View Source

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 Source

Create(TypeBuilder, string, Type, bool, MemberAccess, bool)

Crea una propiedad en el tipo sin implementaciones de get ni set establecidas.

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.

| Edit this page View Source

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 Source

implicit 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

Extension Methods

Objects.ShallowCopyTo(object, object, Type)
ObjectExtensions.FieldsOf<T>(object)
ObjectExtensions.GetAttribute<T>(object)
ObjectExtensions.GetAttributes<T>(object)
ObjectExtensions.HasAttrValue<TAttribute, TValue>(object, out TValue)
ObjectExtensions.HasAttribute<T>(object)
ObjectExtensions.HasAttribute<T>(object, out T?)
ObjectExtensions.HasAttributes<T>(object, out IEnumerable<T>?)
ObjectExtensions.Is(object?, object?)
ObjectExtensions.IsEither(object, IEnumerable)
ObjectExtensions.IsEither(object, params object[])
ObjectExtensions.IsNeither(object, IEnumerable)
ObjectExtensions.IsNeither(object, params object[])
ObjectExtensions.IsNot(object?, object?)
ObjectExtensions.PropertiesOf<T>(object)
ObjectExtensions.WhichAre(object, IEnumerable<object>)
ObjectExtensions.WhichAre(object, params object[])
Common.IfNotNull<T>(T?, Action<T>)
Objects.Itself<T>(T)
Objects.ShallowCopyTo<T>(T, T)
CollectionExtensions.PushInto<TItem, TCollection>(TItem, ICollection<TCollection>)
DictionaryExtensions.PushInto<TKey, TValue>(TValue, TKey, IDictionary<TKey, TValue>)
PropertyBuildInfoExtensions.BuildNpcPropSetterSkeleton(PropertyBuildInfo, IlBlockWithExitLabel, IlBlockWithExitLabel, Type)
PropertyBuildInfoExtensions.WithBackingField(PropertyBuildInfo, out FieldBuilder)
  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX