PropertyBuilder Clase
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í.
Define las propiedades de un tipo.
public ref class PropertyBuilder sealed : System::Reflection::PropertyInfo
public ref class PropertyBuilder abstract : System::Reflection::PropertyInfo
public ref class PropertyBuilder sealed : System::Reflection::PropertyInfo, System::Runtime::InteropServices::_PropertyBuilder
public sealed class PropertyBuilder : System.Reflection.PropertyInfo
public abstract class PropertyBuilder : System.Reflection.PropertyInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class PropertyBuilder : System.Reflection.PropertyInfo, System.Runtime.InteropServices._PropertyBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PropertyBuilder : System.Reflection.PropertyInfo, System.Runtime.InteropServices._PropertyBuilder
type PropertyBuilder = class
inherit PropertyInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type PropertyBuilder = class
inherit PropertyInfo
interface _PropertyBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PropertyBuilder = class
inherit PropertyInfo
interface _PropertyBuilder
Public NotInheritable Class PropertyBuilder
Inherits PropertyInfo
Public MustInherit Class PropertyBuilder
Inherits PropertyInfo
Public NotInheritable Class PropertyBuilder
Inherits PropertyInfo
Implements _PropertyBuilder
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo implementar propiedades en un tipo dinámico mediante un PropertyBuilder
objeto obtenido a través TypeBuilder.DefineProperty de para crear el marco de propiedades y un asociado MethodBuilder para implementar la lógica de IL dentro de la propiedad .
using namespace System;
using namespace System::Threading;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
Type^ BuildDynamicTypeWithProperties()
{
AppDomain^ myDomain = Thread::GetDomain();
AssemblyName^ myAsmName = gcnew AssemblyName;
myAsmName->Name = "MyDynamicAssembly";
// To generate a persistable assembly, specify AssemblyBuilderAccess::RunAndSave.
AssemblyBuilder^ myAsmBuilder =
myDomain->DefineDynamicAssembly( myAsmName, AssemblyBuilderAccess::RunAndSave );
// Generate a persistable single-module assembly.
ModuleBuilder^ myModBuilder =
myAsmBuilder->DefineDynamicModule( myAsmName->Name, myAsmName->Name + ".dll" );
TypeBuilder^ myTypeBuilder = myModBuilder->DefineType( "CustomerData", TypeAttributes::Public );
// Define a private field to hold the property value.
FieldBuilder^ customerNameBldr = myTypeBuilder->DefineField( "customerName", String::typeid, FieldAttributes::Private );
// The last argument of DefineProperty is an empty array of Type
// objects, because the property has no parameters. (Alternatively,
// you can specify a null value.)
PropertyBuilder^ custNamePropBldr =
myTypeBuilder->DefineProperty( "CustomerName", PropertyAttributes::HasDefault, String::typeid, gcnew array<Type^>(0) );
// The property set and property get methods require a special
// set of attributes.
MethodAttributes getSetAttr =
MethodAttributes::Public | MethodAttributes::SpecialName |
MethodAttributes::HideBySig;
// Define the "get" accessor method for CustomerName.
MethodBuilder^ custNameGetPropMthdBldr =
myTypeBuilder->DefineMethod( "get_CustomerName",
getSetAttr,
String::typeid,
Type::EmptyTypes );
ILGenerator^ custNameGetIL = custNameGetPropMthdBldr->GetILGenerator();
custNameGetIL->Emit( OpCodes::Ldarg_0 );
custNameGetIL->Emit( OpCodes::Ldfld, customerNameBldr );
custNameGetIL->Emit( OpCodes::Ret );
// Define the "set" accessor method for CustomerName.
array<Type^>^temp2 = {String::typeid};
MethodBuilder^ custNameSetPropMthdBldr =
myTypeBuilder->DefineMethod( "set_CustomerName",
getSetAttr,
nullptr,
temp2 );
ILGenerator^ custNameSetIL = custNameSetPropMthdBldr->GetILGenerator();
custNameSetIL->Emit( OpCodes::Ldarg_0 );
custNameSetIL->Emit( OpCodes::Ldarg_1 );
custNameSetIL->Emit( OpCodes::Stfld, customerNameBldr );
custNameSetIL->Emit( OpCodes::Ret );
// Last, we must map the two methods created above to our PropertyBuilder to
// their corresponding behaviors, "get" and "set" respectively.
custNamePropBldr->SetGetMethod( custNameGetPropMthdBldr );
custNamePropBldr->SetSetMethod( custNameSetPropMthdBldr );
Type^ retval = myTypeBuilder->CreateType();
// Save the assembly so it can be examined with Ildasm.exe,
// or referenced by a test program.
myAsmBuilder->Save(myAsmName->Name + ".dll");
return retval;
}
int main()
{
Type^ custDataType = BuildDynamicTypeWithProperties();
array<PropertyInfo^>^custDataPropInfo = custDataType->GetProperties();
System::Collections::IEnumerator^ myEnum = custDataPropInfo->GetEnumerator();
while ( myEnum->MoveNext() )
{
PropertyInfo^ pInfo = safe_cast<PropertyInfo^>(myEnum->Current);
Console::WriteLine( "Property '{0}' created!", pInfo );
}
Console::WriteLine( "---" );
// Note that when invoking a property, you need to use the proper BindingFlags -
// BindingFlags::SetProperty when you invoke the "set" behavior, and
// BindingFlags::GetProperty when you invoke the "get" behavior. Also note that
// we invoke them based on the name we gave the property, as expected, and not
// the name of the methods we bound to the specific property behaviors.
Object^ custData = Activator::CreateInstance( custDataType );
array<Object^>^temp3 = {"Joe User"};
custDataType->InvokeMember( "CustomerName", BindingFlags::SetProperty, nullptr, custData, temp3 );
Console::WriteLine( "The customerName field of instance custData has been set to '{0}'.", custDataType->InvokeMember( "CustomerName", BindingFlags::GetProperty, nullptr, custData, gcnew array<Object^>(0) ) );
}
// --- O U T P U T ---
// The output should be as follows:
// -------------------
// Property 'System.String CustomerName' created!
// ---
// The customerName field of instance custData has been set to 'Joe User'.
// -------------------
using System;
using System.Threading;
using System.Reflection;
using System.Reflection.Emit;
class PropertyBuilderDemo
{
public static Type BuildDynamicTypeWithProperties()
{
AppDomain myDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyDynamicAssembly";
// To generate a persistable assembly, specify AssemblyBuilderAccess.RunAndSave.
AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(myAsmName,
AssemblyBuilderAccess.RunAndSave);
// Generate a persistable single-module assembly.
ModuleBuilder myModBuilder =
myAsmBuilder.DefineDynamicModule(myAsmName.Name, myAsmName.Name + ".dll");
TypeBuilder myTypeBuilder = myModBuilder.DefineType("CustomerData",
TypeAttributes.Public);
FieldBuilder customerNameBldr = myTypeBuilder.DefineField("customerName",
typeof(string),
FieldAttributes.Private);
// The last argument of DefineProperty is null, because the
// property has no parameters. (If you don't specify null, you must
// specify an array of Type objects. For a parameterless property,
// use an array with no elements: new Type[] {})
PropertyBuilder custNamePropBldr = myTypeBuilder.DefineProperty("CustomerName",
PropertyAttributes.HasDefault,
typeof(string),
null);
// The property set and property get methods require a special
// set of attributes.
MethodAttributes getSetAttr =
MethodAttributes.Public | MethodAttributes.SpecialName |
MethodAttributes.HideBySig;
// Define the "get" accessor method for CustomerName.
MethodBuilder custNameGetPropMthdBldr =
myTypeBuilder.DefineMethod("get_CustomerName",
getSetAttr,
typeof(string),
Type.EmptyTypes);
ILGenerator custNameGetIL = custNameGetPropMthdBldr.GetILGenerator();
custNameGetIL.Emit(OpCodes.Ldarg_0);
custNameGetIL.Emit(OpCodes.Ldfld, customerNameBldr);
custNameGetIL.Emit(OpCodes.Ret);
// Define the "set" accessor method for CustomerName.
MethodBuilder custNameSetPropMthdBldr =
myTypeBuilder.DefineMethod("set_CustomerName",
getSetAttr,
null,
new Type[] { typeof(string) });
ILGenerator custNameSetIL = custNameSetPropMthdBldr.GetILGenerator();
custNameSetIL.Emit(OpCodes.Ldarg_0);
custNameSetIL.Emit(OpCodes.Ldarg_1);
custNameSetIL.Emit(OpCodes.Stfld, customerNameBldr);
custNameSetIL.Emit(OpCodes.Ret);
// Last, we must map the two methods created above to our PropertyBuilder to
// their corresponding behaviors, "get" and "set" respectively.
custNamePropBldr.SetGetMethod(custNameGetPropMthdBldr);
custNamePropBldr.SetSetMethod(custNameSetPropMthdBldr);
Type retval = myTypeBuilder.CreateType();
// Save the assembly so it can be examined with Ildasm.exe,
// or referenced by a test program.
myAsmBuilder.Save(myAsmName.Name + ".dll");
return retval;
}
public static void Main()
{
Type custDataType = BuildDynamicTypeWithProperties();
PropertyInfo[] custDataPropInfo = custDataType.GetProperties();
foreach (PropertyInfo pInfo in custDataPropInfo) {
Console.WriteLine("Property '{0}' created!", pInfo.ToString());
}
Console.WriteLine("---");
// Note that when invoking a property, you need to use the proper BindingFlags -
// BindingFlags.SetProperty when you invoke the "set" behavior, and
// BindingFlags.GetProperty when you invoke the "get" behavior. Also note that
// we invoke them based on the name we gave the property, as expected, and not
// the name of the methods we bound to the specific property behaviors.
object custData = Activator.CreateInstance(custDataType);
custDataType.InvokeMember("CustomerName", BindingFlags.SetProperty,
null, custData, new object[]{ "Joe User" });
Console.WriteLine("The customerName field of instance custData has been set to '{0}'.",
custDataType.InvokeMember("CustomerName", BindingFlags.GetProperty,
null, custData, new object[]{ }));
}
}
// --- O U T P U T ---
// The output should be as follows:
// -------------------
// Property 'System.String CustomerName' created!
// ---
// The customerName field of instance custData has been set to 'Joe User'.
// -------------------
Imports System.Threading
Imports System.Reflection
Imports System.Reflection.Emit
Class PropertyBuilderDemo
Public Shared Function BuildDynamicTypeWithProperties() As Type
Dim myDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyDynamicAssembly"
' To generate a persistable assembly, specify AssemblyBuilderAccess.RunAndSave.
Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(myAsmName, _
AssemblyBuilderAccess.RunAndSave)
' Generate a persistable, single-module assembly.
Dim myModBuilder As ModuleBuilder = _
myAsmBuilder.DefineDynamicModule(myAsmName.Name, myAsmName.Name & ".dll")
Dim myTypeBuilder As TypeBuilder = myModBuilder.DefineType("CustomerData", TypeAttributes.Public)
' Define a private field to hold the property value.
Dim customerNameBldr As FieldBuilder = myTypeBuilder.DefineField("customerName", _
GetType(String), FieldAttributes.Private)
' The last argument of DefineProperty is Nothing, because the
' property has no parameters. (If you don't specify Nothing, you must
' specify an array of Type objects. For a parameterless property,
' use an array with no elements: New Type() {})
Dim custNamePropBldr As PropertyBuilder = _
myTypeBuilder.DefineProperty("CustomerName", _
PropertyAttributes.HasDefault, _
GetType(String), _
Nothing)
' The property set and property get methods require a special
' set of attributes.
Dim getSetAttr As MethodAttributes = _
MethodAttributes.Public Or MethodAttributes.SpecialName _
Or MethodAttributes.HideBySig
' Define the "get" accessor method for CustomerName.
Dim custNameGetPropMthdBldr As MethodBuilder = _
myTypeBuilder.DefineMethod("GetCustomerName", _
getSetAttr, _
GetType(String), _
Type.EmptyTypes)
Dim custNameGetIL As ILGenerator = custNameGetPropMthdBldr.GetILGenerator()
custNameGetIL.Emit(OpCodes.Ldarg_0)
custNameGetIL.Emit(OpCodes.Ldfld, customerNameBldr)
custNameGetIL.Emit(OpCodes.Ret)
' Define the "set" accessor method for CustomerName.
Dim custNameSetPropMthdBldr As MethodBuilder = _
myTypeBuilder.DefineMethod("get_CustomerName", _
getSetAttr, _
Nothing, _
New Type() {GetType(String)})
Dim custNameSetIL As ILGenerator = custNameSetPropMthdBldr.GetILGenerator()
custNameSetIL.Emit(OpCodes.Ldarg_0)
custNameSetIL.Emit(OpCodes.Ldarg_1)
custNameSetIL.Emit(OpCodes.Stfld, customerNameBldr)
custNameSetIL.Emit(OpCodes.Ret)
' Last, we must map the two methods created above to our PropertyBuilder to
' their corresponding behaviors, "get" and "set" respectively.
custNamePropBldr.SetGetMethod(custNameGetPropMthdBldr)
custNamePropBldr.SetSetMethod(custNameSetPropMthdBldr)
Dim retval As Type = myTypeBuilder.CreateType()
' Save the assembly so it can be examined with Ildasm.exe,
' or referenced by a test program.
myAsmBuilder.Save(myAsmName.Name & ".dll")
return retval
End Function 'BuildDynamicTypeWithProperties
Public Shared Sub Main()
Dim custDataType As Type = BuildDynamicTypeWithProperties()
Dim custDataPropInfo As PropertyInfo() = custDataType.GetProperties()
Dim pInfo As PropertyInfo
For Each pInfo In custDataPropInfo
Console.WriteLine("Property '{0}' created!", pInfo.ToString())
Next pInfo
Console.WriteLine("---")
' Note that when invoking a property, you need to use the proper BindingFlags -
' BindingFlags.SetProperty when you invoke the "set" behavior, and
' BindingFlags.GetProperty when you invoke the "get" behavior. Also note that
' we invoke them based on the name we gave the property, as expected, and not
' the name of the methods we bound to the specific property behaviors.
Dim custData As Object = Activator.CreateInstance(custDataType)
custDataType.InvokeMember("CustomerName", BindingFlags.SetProperty, Nothing, _
custData, New Object() {"Joe User"})
Console.WriteLine("The customerName field of instance custData has been set to '{0}'.", _
custDataType.InvokeMember("CustomerName", BindingFlags.GetProperty, _
Nothing, custData, New Object() {}))
End Sub
End Class
' --- O U T P U T ---
' The output should be as follows:
' -------------------
' Property 'System.String CustomerName' created!
' ---
' The customerName field of instance custData has been set to 'Joe User'.
' -------------------
Comentarios
Un PropertyBuilder
objeto siempre está asociado a .TypeBuilder
TypeBuilder
.
DefineProperty
el método devolverá un nuevo PropertyBuilder
a un cliente.
Constructores
PropertyBuilder() |
Inicializa una nueva instancia de la clase PropertyBuilder. |
Propiedades
Attributes |
Obtiene los atributos de esta propiedad. |
CanRead |
Obtiene un valor que indica si se puede leer la propiedad. |
CanWrite |
Obtiene un valor que indica si se puede escribir en la propiedad. |
CustomAttributes |
Obtiene una colección que contiene los atributos personalizados de este miembro. (Heredado de MemberInfo) |
DeclaringType |
Obtiene la clase que declara este miembro. |
GetMethod |
Obtiene el descriptor de acceso |
IsCollectible |
Obtiene un valor que indica si este objeto MemberInfo forma parte de un ensamblado contenido en un AssemblyLoadContext recopilable. (Heredado de MemberInfo) |
IsSpecialName |
Obtiene un valor que indica si la propiedad es el nombre especial. (Heredado de PropertyInfo) |
MemberType |
Obtiene un valor MemberTypes que indica que este miembro es una propiedad. (Heredado de PropertyInfo) |
MetadataToken |
Obtiene un valor que identifica un elemento de metadatos. (Heredado de MemberInfo) |
Module |
Obtiene el módulo en el que se está definiendo el tipo que declara la propiedad actual. |
Module |
Obtiene el módulo en el que el tipo que declara el miembro representado por el objeto MemberInfo actual está definido. (Heredado de MemberInfo) |
Name |
Obtiene el nombre de este miembro. |
PropertyToken |
Recupera el símbolo (token) de esta propiedad. |
PropertyType |
Obtiene el tipo del campo de esta propiedad. |
ReflectedType |
Obtiene el objeto de la clase utilizado para obtener esta instancia de |
ReflectedType |
Obtiene el objeto de la clase utilizado para obtener esta instancia de |
SetMethod |
Obtiene el descriptor de acceso |
Métodos
AddOtherMethod(MethodBuilder) |
Agrega uno de los otros métodos asociados a esta propiedad. |
AddOtherMethodCore(MethodBuilder) |
Cuando se invalida en una clase derivada, agrega uno de los otros métodos asociados a esta propiedad. |
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. (Heredado de PropertyInfo) |
GetAccessors() |
Devuelve una matriz cuyos elementos reflejan los descriptores de acceso públicos |
GetAccessors(Boolean) |
Devuelve una matriz de los descriptores de acceso |
GetAccessors(Boolean) |
Devuelve una matriz cuyos elementos reflejan los descriptores de acceso públicos y, si se especifica, no públicos, |
GetConstantValue() |
Devuelve un valor literal asociado a la propiedad mediante un compilador. (Heredado de PropertyInfo) |
GetCustomAttributes(Boolean) |
Devuelve una matriz de todos los atributos personalizados de esta propiedad. |
GetCustomAttributes(Boolean) |
Cuando se reemplaza en una clase derivada, devuelve una matriz de todos los atributos personalizados aplicados a este miembro. (Heredado de MemberInfo) |
GetCustomAttributes(Type, Boolean) |
Devuelve una matriz de atributos personalizados identificados por Type. |
GetCustomAttributes(Type, Boolean) |
Cuando se invalida en una clase derivada, devuelve una matriz de atributos personalizados aplicados a este miembro e identificado por Type. (Heredado de MemberInfo) |
GetCustomAttributesData() |
Devuelve una lista de objetos CustomAttributeData que representan datos sobre los atributos que se aplicaron al miembro de destino. (Heredado de MemberInfo) |
GetGetMethod() |
Devuelve el descriptor de acceso |
GetGetMethod(Boolean) |
Devuelve el descriptor de acceso get público y no público de esta propiedad. |
GetGetMethod(Boolean) |
Cuando se reemplaza en una clase derivada, devuelve el descriptor de acceso |
GetHashCode() |
Devuelve el código hash de esta instancia. (Heredado de PropertyInfo) |
GetIndexParameters() |
Devuelve una matriz de todos los parámetros de índice de la propiedad. |
GetModifiedPropertyType() |
Obtiene el tipo modificado de este objeto de propiedad. (Heredado de PropertyInfo) |
GetOptionalCustomModifiers() |
Devuelve una matriz de tipos que representan los modificadores personalizados opcionales de la propiedad. (Heredado de PropertyInfo) |
GetRawConstantValue() |
Devuelve un valor literal asociado a la propiedad mediante un compilador. (Heredado de PropertyInfo) |
GetRequiredCustomModifiers() |
Devuelve una matriz de tipos que representan los modificadores personalizados necesarios de la propiedad. (Heredado de PropertyInfo) |
GetSetMethod() |
Devuelve el descriptor de acceso |
GetSetMethod(Boolean) |
Devuelve el descriptor de acceso establecido de esta propiedad. |
GetSetMethod(Boolean) |
Cuando se reemplaza en una clase derivada, devuelve el descriptor de acceso |
GetType() |
Detecta los atributos de una propiedad y proporciona acceso a sus metadatos. (Heredado de PropertyInfo) |
GetValue(Object) |
Devuelve el valor de propiedad de un objeto especificado. (Heredado de PropertyInfo) |
GetValue(Object, BindingFlags, Binder, Object[], CultureInfo) |
Obtiene el valor de una propiedad con el enlace, índice y |
GetValue(Object, BindingFlags, Binder, Object[], CultureInfo) |
Cuando se reemplaza en una clase derivada, devuelve el valor de propiedad de un objeto especificado que tiene el enlace, el índice y la información específica de la referencia cultural especificados. (Heredado de PropertyInfo) |
GetValue(Object, Object[]) |
Obtiene el valor de la propiedad indizada llamando al método Get de la propiedad. |
HasSameMetadataDefinitionAs(MemberInfo) |
Define las propiedades de un tipo. (Heredado de MemberInfo) |
IsDefined(Type, Boolean) |
Indica si se han definido una o varias instancias de |
IsDefined(Type, Boolean) |
Cuando se reemplaza en una clase derivada, indica si se aplican a este miembro uno o más atributos del tipo especificado o de sus tipos derivados. (Heredado de MemberInfo) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
SetConstant(Object) |
Establece el valor predeterminado de esta propiedad. |
SetConstantCore(Object) |
Cuando se invalida en una clase derivada, establece el valor predeterminado de esta propiedad. |
SetCustomAttribute(ConstructorInfo, Byte[]) |
Establece un atributo personalizado mediante un blob de atributo personalizado especificado. |
SetCustomAttribute(CustomAttributeBuilder) |
Establece un atributo personalizado mediante un generador de atributos personalizado. |
SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>) |
Cuando se invalida en una clase derivada, establece un atributo personalizado en este ensamblado. |
SetGetMethod(MethodBuilder) |
Establece el método que obtiene el valor de propiedad. |
SetGetMethodCore(MethodBuilder) |
Cuando se reemplaza en una clase derivada, establece el método que obtiene el valor de propiedad. |
SetSetMethod(MethodBuilder) |
Establece el método que define el valor de propiedad. |
SetSetMethodCore(MethodBuilder) |
Cuando se invalida en una clase derivada, establece el método que establece el valor de propiedad. |
SetValue(Object, Object) |
Establece el valor de propiedad de un objeto especificado. (Heredado de PropertyInfo) |
SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo) |
Establece el valor de propiedad del objeto especificado en el valor indicado. |
SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo) |
Cuando se reemplaza en una clase derivada, establece el valor de propiedad para un objeto especificado que tiene el enlace, el índice y la información específica de la referencia cultural especificados. (Heredado de PropertyInfo) |
SetValue(Object, Object, Object[]) |
Establece el valor de la propiedad con valores de índice opcionales para propiedades indizadas. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de MemberInfo) |
_MemberInfo.GetType() |
Objeto Type que representa la clase MemberInfo. (Heredado de MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. (Heredado de MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de MemberInfo) |
_PropertyBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. |
_PropertyBuilder.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. |
_PropertyBuilder.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). |
_PropertyBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. |
_PropertyInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de PropertyInfo) |
_PropertyInfo.GetType() |
Obtiene un objeto Type que representa el tipo de PropertyInfo. (Heredado de PropertyInfo) |
_PropertyInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. (Heredado de PropertyInfo) |
_PropertyInfo.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de PropertyInfo) |
_PropertyInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de PropertyInfo) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Devuelve una matriz de todos los atributos personalizados definidos en este miembro, excluidos los atributos con nombre, o una matriz vacía si no hay atributos personalizados. (Heredado de MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Devuelve una matriz de atributos personalizados definidos en este miembro, identificados por tipo, o una matriz vacía si no hay atributos personalizados de ese tipo. (Heredado de MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica si una o más instancias de |
Métodos de extensión
GetCustomAttribute(MemberInfo, Type) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttribute<T>(MemberInfo) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes(MemberInfo) |
Recupera una colección de atributos personalizados que se aplican a un miembro especificado. |
GetCustomAttributes(MemberInfo, Boolean) |
Recupera una colección de atributos personalizados que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes(MemberInfo, Type) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes<T>(MemberInfo) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
IsDefined(MemberInfo, Type) |
Indica si se deben aplicar atributos personalizados de un tipo especificado a un miembro especificado. |
IsDefined(MemberInfo, Type, Boolean) |
Indica si los atributos personalizados de un tipo especificado se aplican a un miembro especificado y, opcionalmente, se aplican a sus antecesores. |
GetMetadataToken(MemberInfo) |
Obtiene un token de metadatos del miembro determinado, si está disponible. |
HasMetadataToken(MemberInfo) |
Devuelve un valor que indica si un token de metadatos está disponible para el miembro especificado. |
GetAccessors(PropertyInfo) |
Define las propiedades de un tipo. |
GetAccessors(PropertyInfo, Boolean) |
Define las propiedades de un tipo. |
GetGetMethod(PropertyInfo) |
Define las propiedades de un tipo. |
GetGetMethod(PropertyInfo, Boolean) |
Define las propiedades de un tipo. |
GetSetMethod(PropertyInfo) |
Define las propiedades de un tipo. |
GetSetMethod(PropertyInfo, Boolean) |
Define las propiedades de un tipo. |