Aracılığıyla paylaş


ConstructorBuilder Sınıf

Tanım

Dinamik bir sınıfın oluşturucusunun tanımlar ve temsil eder.

public ref class ConstructorBuilder sealed : System::Reflection::ConstructorInfo
public ref class ConstructorBuilder abstract : System::Reflection::ConstructorInfo
public ref class ConstructorBuilder sealed : System::Reflection::ConstructorInfo, System::Runtime::InteropServices::_ConstructorBuilder
public sealed class ConstructorBuilder : System.Reflection.ConstructorInfo
public abstract class ConstructorBuilder : System.Reflection.ConstructorInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class ConstructorBuilder : System.Reflection.ConstructorInfo, System.Runtime.InteropServices._ConstructorBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ConstructorBuilder : System.Reflection.ConstructorInfo, System.Runtime.InteropServices._ConstructorBuilder
type ConstructorBuilder = class
    inherit ConstructorInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ConstructorBuilder = class
    inherit ConstructorInfo
    interface _ConstructorBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ConstructorBuilder = class
    inherit ConstructorInfo
    interface _ConstructorBuilder
Public NotInheritable Class ConstructorBuilder
Inherits ConstructorInfo
Public MustInherit Class ConstructorBuilder
Inherits ConstructorInfo
Public NotInheritable Class ConstructorBuilder
Inherits ConstructorInfo
Implements _ConstructorBuilder
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bağlamsal ConstructorBuilderkullanımını gösterir.

using namespace System;
using namespace System::Threading;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
Type^ DynamicPointTypeGen()
{
   Type^ pointType = nullptr;
   array<Type^>^temp0 = {int::typeid,int::typeid,int::typeid};
   array<Type^>^ctorParams = temp0;
   AppDomain^ myDomain = Thread::GetDomain();
   AssemblyName^ myAsmName = gcnew AssemblyName;
   myAsmName->Name = "MyDynamicAssembly";
   AssemblyBuilder^ myAsmBuilder = myDomain->DefineDynamicAssembly( myAsmName, AssemblyBuilderAccess::RunAndSave );
   ModuleBuilder^ pointModule = myAsmBuilder->DefineDynamicModule( "PointModule", "Point.dll" );
   TypeBuilder^ pointTypeBld = pointModule->DefineType( "Point", TypeAttributes::Public );
   FieldBuilder^ xField = pointTypeBld->DefineField( "x", int::typeid, FieldAttributes::Public );
   FieldBuilder^ yField = pointTypeBld->DefineField( "y", int::typeid, FieldAttributes::Public );
   FieldBuilder^ zField = pointTypeBld->DefineField( "z", int::typeid, FieldAttributes::Public );
   Type^ objType = Type::GetType( "System.Object" );
   ConstructorInfo^ objCtor = objType->GetConstructor( gcnew array<Type^>(0) );
   ConstructorBuilder^ pointCtor = pointTypeBld->DefineConstructor( MethodAttributes::Public, CallingConventions::Standard, ctorParams );
   ILGenerator^ ctorIL = pointCtor->GetILGenerator();
   
   // NOTE: ldarg.0 holds the "this" reference - ldarg.1, ldarg.2, and ldarg.3
   // hold the actual passed parameters. ldarg.0 is used by instance methods
   // to hold a reference to the current calling bject instance. Static methods
   // do not use arg.0, since they are not instantiated and hence no reference
   // is needed to distinguish them.
   ctorIL->Emit( OpCodes::Ldarg_0 );
   
   // Here, we wish to create an instance of System::Object by invoking its
   // constructor, as specified above.
   ctorIL->Emit( OpCodes::Call, objCtor );
   
   // Now, we'll load the current instance in arg 0, along
   // with the value of parameter "x" stored in arg 1, into stfld.
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_1 );
   ctorIL->Emit( OpCodes::Stfld, xField );
   
   // Now, we store arg 2 "y" in the current instance with stfld.
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_2 );
   ctorIL->Emit( OpCodes::Stfld, yField );
   
   // Last of all, arg 3 "z" gets stored in the current instance.
   ctorIL->Emit( OpCodes::Ldarg_0 );
   ctorIL->Emit( OpCodes::Ldarg_3 );
   ctorIL->Emit( OpCodes::Stfld, zField );
   
   // Our work complete, we return.
   ctorIL->Emit( OpCodes::Ret );
   
   // Now, let's create three very simple methods so we can see our fields.
   array<String^>^temp1 = {"GetX","GetY","GetZ"};
   array<String^>^mthdNames = temp1;
   System::Collections::IEnumerator^ myEnum = mthdNames->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      String^ mthdName = safe_cast<String^>(myEnum->Current);
      MethodBuilder^ getFieldMthd = pointTypeBld->DefineMethod( mthdName, MethodAttributes::Public, int::typeid, nullptr );
      ILGenerator^ mthdIL = getFieldMthd->GetILGenerator();
      mthdIL->Emit( OpCodes::Ldarg_0 );
      if ( mthdName->Equals( "GetX" ) )
            mthdIL->Emit( OpCodes::Ldfld, xField );
      else
      if ( mthdName->Equals( "GetY" ) )
            mthdIL->Emit( OpCodes::Ldfld, yField );
      else
      if ( mthdName->Equals( "GetZ" ) )
            mthdIL->Emit( OpCodes::Ldfld, zField );



      mthdIL->Emit( OpCodes::Ret );
   }

   pointType = pointTypeBld->CreateType();
   
   // Let's save it, just for posterity.
   myAsmBuilder->Save( "Point.dll" );
   return pointType;
}

int main()
{
   Type^ myDynamicType = nullptr;
   Object^ aPoint = nullptr;
   array<Type^>^temp2 = {int::typeid,int::typeid,int::typeid};
   array<Type^>^aPtypes = temp2;
   array<Object^>^temp3 = {4,5,6};
   array<Object^>^aPargs = temp3;
   
   // Call the  method to build our dynamic class.
   myDynamicType = DynamicPointTypeGen();
   Console::WriteLine( "Some information about my new Type '{0}':", myDynamicType->FullName );
   Console::WriteLine( "Assembly: '{0}'", myDynamicType->Assembly );
   Console::WriteLine( "Attributes: '{0}'", myDynamicType->Attributes );
   Console::WriteLine( "Module: '{0}'", myDynamicType->Module );
   Console::WriteLine( "Members: " );
   System::Collections::IEnumerator^ myEnum = myDynamicType->GetMembers()->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      MemberInfo^ member = safe_cast<MemberInfo^>(myEnum->Current);
      Console::WriteLine( "-- {0} {1};", member->MemberType, member->Name );
   }

   Console::WriteLine( "---" );
   
   // Let's take a look at the constructor we created.
   ConstructorInfo^ myDTctor = myDynamicType->GetConstructor( aPtypes );
   Console::WriteLine( "Constructor: {0};", myDTctor );
   Console::WriteLine( "---" );
   
   // Now, we get to use our dynamically-created class by invoking the constructor.
   aPoint = myDTctor->Invoke( aPargs );
   Console::WriteLine( "aPoint is type {0}.", aPoint->GetType() );
   
   // Finally, let's reflect on the instance of our new type - aPoint - and
   // make sure everything proceeded according to plan.
   Console::WriteLine( "aPoint.x = {0}", myDynamicType->InvokeMember( "GetX", BindingFlags::InvokeMethod, nullptr, aPoint, gcnew array<Object^>(0) ) );
   Console::WriteLine( "aPoint.y = {0}", myDynamicType->InvokeMember( "GetY", BindingFlags::InvokeMethod, nullptr, aPoint, gcnew array<Object^>(0) ) );
   Console::WriteLine( "aPoint.z = {0}", myDynamicType->InvokeMember( "GetZ", BindingFlags::InvokeMethod, nullptr, aPoint, gcnew array<Object^>(0) ) );
   
   // +++ OUTPUT +++
   // Some information about my new Type 'Point':
   // Assembly: 'MyDynamicAssembly, Version=0.0.0.0'
   // Attributes: 'AutoLayout, AnsiClass, NotPublic, Public'
   // Module: 'PointModule'
   // Members:
   // -- Field x;
   // -- Field y;
   // -- Field z;
   // -- Method GetHashCode;
   // -- Method Equals;
   // -- Method ToString;
   // -- Method GetType;
   // -- Constructor .ctor;
   // ---
   // Constructor: Void .ctor(Int32, Int32, Int32);
   // ---
   // aPoint is type Point.
   // aPoint.x = 4
   // aPoint.y = 5
   // aPoint.z = 6
}

using System;
using System.Threading;
using System.Reflection;
using System.Reflection.Emit;

class TestCtorBuilder {

    public static Type DynamicPointTypeGen() {
    
       Type pointType = null;
       Type[] ctorParams = new Type[] {typeof(int),
                        typeof(int),
                        typeof(int)};
    
       AppDomain myDomain = Thread.GetDomain();
       AssemblyName myAsmName = new AssemblyName();
       myAsmName.Name = "MyDynamicAssembly";
    
       AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
                      myAsmName,
                      AssemblyBuilderAccess.RunAndSave);

       ModuleBuilder pointModule = myAsmBuilder.DefineDynamicModule("PointModule",
                                    "Point.dll");

       TypeBuilder pointTypeBld = pointModule.DefineType("Point",
                                      TypeAttributes.Public);

       FieldBuilder xField = pointTypeBld.DefineField("x", typeof(int),
                                                          FieldAttributes.Public);
       FieldBuilder yField = pointTypeBld.DefineField("y", typeof(int),
                                                          FieldAttributes.Public);
       FieldBuilder zField = pointTypeBld.DefineField("z", typeof(int),
                                                          FieldAttributes.Public);

           Type objType = Type.GetType("System.Object");
           ConstructorInfo objCtor = objType.GetConstructor(new Type[0]);

       ConstructorBuilder pointCtor = pointTypeBld.DefineConstructor(
                      MethodAttributes.Public,
                      CallingConventions.Standard,
                      ctorParams);
       ILGenerator ctorIL = pointCtor.GetILGenerator();

       // NOTE: ldarg.0 holds the "this" reference - ldarg.1, ldarg.2, and ldarg.3
       // hold the actual passed parameters. ldarg.0 is used by instance methods
       // to hold a reference to the current calling object instance. Static methods
       // do not use arg.0, since they are not instantiated and hence no reference
       // is needed to distinguish them.

           ctorIL.Emit(OpCodes.Ldarg_0);

       // Here, we wish to create an instance of System.Object by invoking its
       // constructor, as specified above.

           ctorIL.Emit(OpCodes.Call, objCtor);

       // Now, we'll load the current instance ref in arg 0, along
       // with the value of parameter "x" stored in arg 1, into stfld.

           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_1);
           ctorIL.Emit(OpCodes.Stfld, xField);

       // Now, we store arg 2 "y" in the current instance with stfld.

           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_2);
           ctorIL.Emit(OpCodes.Stfld, yField);

       // Last of all, arg 3 "z" gets stored in the current instance.

           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_3);
           ctorIL.Emit(OpCodes.Stfld, zField);

           // Our work complete, we return.

       ctorIL.Emit(OpCodes.Ret);

       // Now, let's create three very simple methods so we can see our fields.

       string[] mthdNames = new string[] {"GetX", "GetY", "GetZ"};

           foreach (string mthdName in mthdNames) {
              MethodBuilder getFieldMthd = pointTypeBld.DefineMethod(
                           mthdName,
                           MethodAttributes.Public,
                                           typeof(int),
                                           null);
          ILGenerator mthdIL = getFieldMthd.GetILGenerator();
    
          mthdIL.Emit(OpCodes.Ldarg_0);
          switch (mthdName) {
             case "GetX": mthdIL.Emit(OpCodes.Ldfld, xField);
                  break;
             case "GetY": mthdIL.Emit(OpCodes.Ldfld, yField);
                  break;
             case "GetZ": mthdIL.Emit(OpCodes.Ldfld, zField);
                  break;
          }
          mthdIL.Emit(OpCodes.Ret);
           }
       // Finally, we create the type.

       pointType = pointTypeBld.CreateType();

       // Let's save it, just for posterity.
    
       myAsmBuilder.Save("Point.dll");
    
       return pointType;
    }

    public static void Main() {
    
       Type myDynamicType = null;
           object aPoint = null;
       Type[] aPtypes = new Type[] {typeof(int), typeof(int), typeof(int)};
           object[] aPargs = new object[] {4, 5, 6};
    
       // Call the  method to build our dynamic class.

       myDynamicType = DynamicPointTypeGen();

       Console.WriteLine("Some information about my new Type '{0}':",
                  myDynamicType.FullName);
       Console.WriteLine("Assembly: '{0}'", myDynamicType.Assembly);
       Console.WriteLine("Attributes: '{0}'", myDynamicType.Attributes);
       Console.WriteLine("Module: '{0}'", myDynamicType.Module);
       Console.WriteLine("Members: ");
       foreach (MemberInfo member in myDynamicType.GetMembers()) {
        Console.WriteLine("-- {0} {1};", member.MemberType, member.Name);
       }

           Console.WriteLine("---");

       // Let's take a look at the constructor we created.

       ConstructorInfo myDTctor = myDynamicType.GetConstructor(aPtypes);
           Console.WriteLine("Constructor: {0};", myDTctor.ToString());

           Console.WriteLine("---");
    
           // Now, we get to use our dynamically-created class by invoking the constructor.

       aPoint = myDTctor.Invoke(aPargs);
           Console.WriteLine("aPoint is type {0}.", aPoint.GetType());

       // Finally, let's reflect on the instance of our new type - aPoint - and
       // make sure everything proceeded according to plan.

       Console.WriteLine("aPoint.x = {0}",
                 myDynamicType.InvokeMember("GetX",
                                BindingFlags.InvokeMethod,
                            null,
                            aPoint,
                            new object[0]));
       Console.WriteLine("aPoint.y = {0}",
                 myDynamicType.InvokeMember("GetY",
                                BindingFlags.InvokeMethod,
                            null,
                            aPoint,
                            new object[0]));
       Console.WriteLine("aPoint.z = {0}",
                 myDynamicType.InvokeMember("GetZ",
                                BindingFlags.InvokeMethod,
                            null,
                            aPoint,
                            new object[0]));

       // +++ OUTPUT +++
       // Some information about my new Type 'Point':
       // Assembly: 'MyDynamicAssembly, Version=0.0.0.0'
       // Attributes: 'AutoLayout, AnsiClass, NotPublic, Public'
       // Module: 'PointModule'
       // Members:
       // -- Field x;
       // -- Field y;
       // -- Field z;
           // -- Method GetHashCode;
           // -- Method Equals;
           // -- Method ToString;
           // -- Method GetType;
           // -- Constructor .ctor;
       // ---
       // Constructor: Void .ctor(Int32, Int32, Int32);
       // ---
       // aPoint is type Point.
       // aPoint.x = 4
       // aPoint.y = 5
       // aPoint.z = 6
    }
}

Imports System.Threading
Imports System.Reflection
Imports System.Reflection.Emit

 _

Class TestCtorBuilder
   
   
   Public Shared Function DynamicPointTypeGen() As Type
      
      Dim pointType As Type = Nothing
      Dim ctorParams() As Type = {GetType(Integer), GetType(Integer), GetType(Integer)}
      
      Dim myDomain As AppDomain = Thread.GetDomain()
      Dim myAsmName As New AssemblyName()
      myAsmName.Name = "MyDynamicAssembly"
      
      Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(myAsmName, AssemblyBuilderAccess.RunAndSave)
      
      Dim pointModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule("PointModule", "Point.dll")
      
      Dim pointTypeBld As TypeBuilder = pointModule.DefineType("Point", TypeAttributes.Public)
      
      Dim xField As FieldBuilder = pointTypeBld.DefineField("x", GetType(Integer), FieldAttributes.Public)
      Dim yField As FieldBuilder = pointTypeBld.DefineField("y", GetType(Integer), FieldAttributes.Public)
      Dim zField As FieldBuilder = pointTypeBld.DefineField("z", GetType(Integer), FieldAttributes.Public)
      
      Dim objType As Type = Type.GetType("System.Object")
      Dim objCtor As ConstructorInfo = objType.GetConstructor(New Type() {})
      
      Dim pointCtor As ConstructorBuilder = pointTypeBld.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, ctorParams)
      Dim ctorIL As ILGenerator = pointCtor.GetILGenerator()
      
      ' NOTE: ldarg.0 holds the "this" reference - ldarg.1, ldarg.2, and ldarg.3
      ' hold the actual passed parameters. ldarg.0 is used by instance methods
      ' to hold a reference to the current calling object instance. Static methods
      ' do not use arg.0, since they are not instantiated and hence no reference
      ' is needed to distinguish them. 
      ctorIL.Emit(OpCodes.Ldarg_0)
      
      ' Here, we wish to create an instance of System.Object by invoking its
      ' constructor, as specified above.
      ctorIL.Emit(OpCodes.Call, objCtor)
      
      ' Now, we'll load the current instance ref in arg 0, along
      ' with the value of parameter "x" stored in arg 1, into stfld.
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_1)
      ctorIL.Emit(OpCodes.Stfld, xField)
      
      ' Now, we store arg 2 "y" in the current instance with stfld.
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_2)
      ctorIL.Emit(OpCodes.Stfld, yField)
      
      ' Last of all, arg 3 "z" gets stored in the current instance.
      ctorIL.Emit(OpCodes.Ldarg_0)
      ctorIL.Emit(OpCodes.Ldarg_3)
      ctorIL.Emit(OpCodes.Stfld, zField)
      
      ' Our work complete, we return.
      ctorIL.Emit(OpCodes.Ret)
      
      ' Now, let's create three very simple methods so we can see our fields.
      Dim mthdNames() As String = {"GetX", "GetY", "GetZ"}
      
      Dim mthdName As String
      For Each mthdName In  mthdNames
         Dim getFieldMthd As MethodBuilder = pointTypeBld.DefineMethod(mthdName, MethodAttributes.Public, GetType(Integer), Nothing)
         Dim mthdIL As ILGenerator = getFieldMthd.GetILGenerator()
         
         mthdIL.Emit(OpCodes.Ldarg_0)
         Select Case mthdName
            Case "GetX"
               mthdIL.Emit(OpCodes.Ldfld, xField)
            Case "GetY"
               mthdIL.Emit(OpCodes.Ldfld, yField)
            Case "GetZ"
               mthdIL.Emit(OpCodes.Ldfld, zField)
         End Select
         
         mthdIL.Emit(OpCodes.Ret)
      Next mthdName 
      ' Finally, we create the type.
      pointType = pointTypeBld.CreateType()
      
      ' Let's save it, just for posterity.
      myAsmBuilder.Save("Point.dll")
      
      Return pointType
   End Function 'DynamicPointTypeGen
    
   
   Public Shared Sub Main()
      
      Dim myDynamicType As Type = Nothing
      Dim aPoint As Object = Nothing
      Dim aPtypes() As Type = {GetType(Integer), GetType(Integer), GetType(Integer)}
      Dim aPargs() As Object = {4, 5, 6}
      
      ' Call the  method to build our dynamic class.
      myDynamicType = DynamicPointTypeGen()
      
      Console.WriteLine("Some information about my new Type '{0}':", myDynamicType.FullName)
      Console.WriteLine("Assembly: '{0}'", myDynamicType.Assembly)
      Console.WriteLine("Attributes: '{0}'", myDynamicType.Attributes)
      Console.WriteLine("Module: '{0}'", myDynamicType.Module)
      Console.WriteLine("Members: ")
      Dim member As MemberInfo
      For Each member In  myDynamicType.GetMembers()
         Console.WriteLine("-- {0} {1};", member.MemberType, member.Name)
      Next member
      
      Console.WriteLine("---")
      
      ' Let's take a look at the constructor we created.
      Dim myDTctor As ConstructorInfo = myDynamicType.GetConstructor(aPtypes)
      Console.WriteLine("Constructor: {0};", myDTctor.ToString())
      
      Console.WriteLine("---")
      
      ' Now, we get to use our dynamically-created class by invoking the constructor. 
      aPoint = myDTctor.Invoke(aPargs)
      Console.WriteLine("aPoint is type {0}.", aPoint.GetType())
      
      
      ' Finally, let's reflect on the instance of our new type - aPoint - and
      ' make sure everything proceeded according to plan.
      Console.WriteLine("aPoint.x = {0}", myDynamicType.InvokeMember("GetX", BindingFlags.InvokeMethod, Nothing, aPoint, New Object() {}))
      Console.WriteLine("aPoint.y = {0}", myDynamicType.InvokeMember("GetY", BindingFlags.InvokeMethod, Nothing, aPoint, New Object() {}))
      Console.WriteLine("aPoint.z = {0}", myDynamicType.InvokeMember("GetZ", BindingFlags.InvokeMethod, Nothing, aPoint, New Object() {}))
   End Sub
End Class



' +++ OUTPUT +++
' Some information about my new Type 'Point':
' Assembly: 'MyDynamicAssembly, Version=0.0.0.0'
' Attributes: 'AutoLayout, AnsiClass, NotPublic, Public'
' Module: 'PointModule'
' Members: 
' -- Field x;
' -- Field y;
' -- Field z;
' -- Method GetHashCode;
' -- Method Equals;
' -- Method ToString;
' -- Method GetType;
' -- Constructor .ctor;
' ---
' Constructor: Void .ctor(Int32, Int32, Int32);
' ---
' aPoint is type Point.
' aPoint.x = 4
' aPoint.y = 5
' aPoint.z = 6

Açıklamalar

ConstructorBuilder ad, öznitelikler, imza ve oluşturucu gövdesi dahil olmak üzere bir oluşturucuyu Microsoft ara dilinde (MSIL) tam olarak açıklamak için kullanılır. Çalışma zamanında sınıf oluşturmak için sınıfıyla TypeBuilder birlikte kullanılır. örneğini almak için çağrısında DefineConstructor bulunur ConstructorBuilder.

Dinamik türünüz için bir oluşturucu tanımlamazsanız, otomatik olarak parametresiz bir oluşturucu sağlanır ve temel sınıfın parametresiz oluşturucusunu çağırır.

Dinamik türünüz için bir oluşturucu tanımlamak için kullanırsanız ConstructorBuilder , parametresiz bir oluşturucu sağlanmaz. Tanımladığınız oluşturucuya ek olarak parametresiz bir oluşturucu sağlamak için aşağıdaki seçeneklere sahipsiniz:

  • Yalnızca temel sınıfın parametresiz oluşturucuyu çağıran parametresiz bir oluşturucu istiyorsanız, yöntemini kullanarak TypeBuilder.DefineDefaultConstructor bir tane oluşturabilir (ve isteğe bağlı olarak buna erişimi kısıtlayabilirsiniz). Bu parametresiz oluşturucu için bir uygulama sağlamayın. Bunu yaparsanız, oluşturucuyu kullanmaya çalıştığınızda bir özel durum oluşturulur. Yöntemi çağrıldığında TypeBuilder.CreateType hiçbir özel durum oluşturulur.

  • Yalnızca temel sınıfın parametresiz oluşturucusunun çağrılmasından daha fazlasını yapan veya temel sınıfın başka bir oluşturucusunu çağıran veya tamamen başka bir şey yapan parametresiz bir oluşturucu istiyorsanız, bir ConstructorBuilderoluşturmak ve kendi uygulamanızı sağlamak için yöntemini kullanmanız TypeBuilder.DefineConstructor gerekir.

Oluşturucular

ConstructorBuilder()

ConstructorBuilder sınıfının yeni bir örneğini başlatır.

Özellikler

Attributes

Bu oluşturucunun özniteliklerini alır.

CallingConvention

Bildirim türünün genel olup olmadığına bağlı bir CallingConventions değer alır.

CallingConvention

Bu yöntem için çağırma kurallarını belirten bir değer alır.

(Devralındığı yer: MethodBase)
ContainsGenericParameters

Genel yöntemin atanmamış genel tür parametreleri içerip içermediğini belirten bir değer alır.

(Devralındığı yer: MethodBase)
CustomAttributes

Bu üyenin özel özniteliklerini içeren bir koleksiyon alır.

(Devralındığı yer: MemberInfo)
DeclaringType

Bu üyeyi Type bildiren türün nesnesine başvuru alır.

InitLocals

Bu oluşturucudaki yerel değişkenlerin sıfır başlatılıp başlatılmayacağını alır veya ayarlar.

InitLocalsCore

Türetilmiş bir sınıfta geçersiz kılındığında, bu oluşturucudaki yerel değişkenlerin sıfır başlatılıp başlatılmayacağını belirten bir değer alır veya ayarlar.

IsAbstract

Yöntemin soyut olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsAssembly

Bu yöntemin veya oluşturucunun olası görünürlüğünün ile Assemblyaçıklanıp açıklanmadığını belirten bir değer alır; başka bir deyişle, yöntem veya oluşturucu aynı derlemedeki diğer türler için en fazla görünürdür ve derleme dışındaki türetilmiş türler tarafından görünmez.

(Devralındığı yer: MethodBase)
IsCollectible

Bu MemberInfo nesnenin toplanabilir AssemblyLoadContextbir derlemenin parçası olup olmadığını gösteren bir değer alır.

(Devralındığı yer: MemberInfo)
IsConstructedGenericMethod

Dinamik bir sınıfın oluşturucusunun tanımlar ve temsil eder.

(Devralındığı yer: MethodBase)
IsConstructor

Yöntemin bir oluşturucu olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsFamily

Bu yöntemin veya oluşturucunun görünürlüğünün tarafından Familyaçıklanıp tanımlanmadığını belirten bir değer alır; başka bir ifadeyle, yöntem veya oluşturucu yalnızca kendi sınıfı ve türetilmiş sınıfları içinde görünür.

(Devralındığı yer: MethodBase)
IsFamilyAndAssembly

Bu yöntemin veya oluşturucunun görünürlüğünün tarafından FamANDAssemaçıklanıp tanımlanmadığını belirten bir değer alır; başka bir ifadeyle, yöntem veya oluşturucu türetilmiş sınıflar tarafından çağrılabilir, ancak yalnızca aynı derlemedeyseler.

(Devralındığı yer: MethodBase)
IsFamilyOrAssembly

Bu yöntemin veya oluşturucunun olası görünürlüğünün ile FamORAssemaçıklanıp açıklanmadığını belirten bir değer alır; başka bir ifadeyle, yöntem veya oluşturucu nerede olurlarsa olsunlar türetilmiş sınıflar tarafından ve aynı derlemedeki sınıflar tarafından çağrılabilir.

(Devralındığı yer: MethodBase)
IsFinal

Bu yöntemin finalolup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsGenericMethod

Yöntemin genel olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsGenericMethodDefinition

Yöntemin genel bir yöntem tanımı olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsHideBySig

Türetilmiş sınıfta yalnızca aynı türdeki aynı imzaya sahip bir üyenin gizlenip gizlenmediğini belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsPrivate

Bu üyenin özel olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsPublic

Bunun genel bir yöntem olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsSecurityCritical

Geçerli yöntem veya oluşturucunun geçerli güven düzeyinde güvenlik açısından kritik veya güvenlik açısından güvenli-kritik olduğunu belirten bir değer alır ve bu nedenle kritik işlemler gerçekleştirebilir.

(Devralındığı yer: MethodBase)
IsSecuritySafeCritical

Geçerli yöntemin veya oluşturucunun geçerli güven düzeyinde güvenlik açısından güvenli-kritik olup olmadığını belirten bir değer alır; yani, kritik işlemler gerçekleştirip gerçekleştiremeyeceğini ve saydam kodla erişilip erişilemeyeceğini gösterir.

(Devralındığı yer: MethodBase)
IsSecurityTransparent

Geçerli yöntemin veya oluşturucunun geçerli güven düzeyinde saydam olup olmadığını belirten bir değer alır ve bu nedenle kritik işlemler gerçekleştiremez.

(Devralındığı yer: MethodBase)
IsSpecialName

Bu yöntemin özel bir ada sahip olup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsStatic

yönteminin staticolup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
IsVirtual

yönteminin virtualolup olmadığını belirten bir değer alır.

(Devralındığı yer: MethodBase)
MemberType

MemberTypes Bu üyenin bir oluşturucu olduğunu belirten bir değer alır.

(Devralındığı yer: ConstructorInfo)
MetadataToken

Meta verilerdeki geçerli dinamik modülü tanımlayan bir belirteç alır.

MetadataToken

Meta veri öğesini tanımlayan bir değer alır.

(Devralındığı yer: MemberInfo)
MethodHandle

yöntemi için iç tanıtıcıyı alır. Temel alınan meta veri tanıtıcısına erişmek için bu tanıtıcıyı kullanın.

MethodHandle

Bir yöntemin iç meta veri gösteriminin tanıtıcısını alır.

(Devralındığı yer: MethodBase)
MethodImplementationFlags

Yöntem uygulamasının MethodImplAttributes özniteliklerini belirten bayrakları alır.

MethodImplementationFlags

MethodImplAttributes Bir yöntem uygulamasının özniteliklerini belirten bayrakları alır.

(Devralındığı yer: MethodBase)
Module

Bu oluşturucunun tanımlandığı dinamik modülü alır.

Module

Geçerli MemberInfo tarafından temsil edilen üyeyi bildiren türün tanımlandığı modülü alır.

(Devralındığı yer: MemberInfo)
Name

Bu oluşturucunun adını alır.

ReflectedType

Bu nesnenin Type alındığı nesneye bir başvuru tutar.

ReflectedType

bu örneğini MemberInfoalmak için kullanılan sınıf nesnesini alır.

(Devralındığı yer: MemberInfo)
ReturnType
Geçersiz.

alır null.

Signature

Alanın imzasını dize biçiminde alır.

Yöntemler

AddDeclarativeSecurity(SecurityAction, PermissionSet)

Bu oluşturucuya bildirim temelli güvenlik ekler.

DefineParameter(Int32, ParameterAttributes, String)

Bu oluşturucunun bir parametresini tanımlar.

DefineParameterCore(Int32, ParameterAttributes, String)

Türetilmiş bir sınıfta geçersiz kılındığında, bu oluşturucunun bir parametresini tanımlar.

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: ConstructorInfo)
GetCustomAttributes(Boolean)

Bu oluşturucu için tanımlanan tüm özel öznitelikleri döndürür.

GetCustomAttributes(Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, bu üyeye uygulanan tüm özel özniteliklerden oluşan bir dizi döndürür.

(Devralındığı yer: MemberInfo)
GetCustomAttributes(Type, Boolean)

Verilen tür tarafından tanımlanan özel öznitelikleri döndürür.

GetCustomAttributes(Type, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, bu üyeye uygulanan ve tarafından Typetanımlanan bir dizi özel öznitelik döndürür.

(Devralındığı yer: MemberInfo)
GetCustomAttributesData()

Hedef üyeye CustomAttributeData uygulanmış özniteliklerle ilgili verileri temsil eden nesnelerin listesini döndürür.

(Devralındığı yer: MemberInfo)
GetGenericArguments()

Genel bir yöntemin Type tür bağımsız değişkenlerini veya genel bir yöntem tanımının tür parametrelerini temsil eden bir nesne dizisi döndürür.

(Devralındığı yer: MethodBase)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: ConstructorInfo)
GetILGenerator()

Bu oluşturucu için bir ILGenerator alır.

GetILGenerator(Int32)

Bu oluşturucu için bir ILGenerator yöntem gövdesi oluşturmak için kullanılabilecek, belirtilen MSIL akış boyutuna sahip bir nesnesi alır.

GetILGeneratorCore(Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, bu oluşturucu için bir yöntem gövdesi yaymak için kullanılabilecek bir alır ILGenerator .

GetMethodBody()

Türetilmiş bir sınıfta geçersiz kılındığında, MSIL akışına, yerel değişkenlere ve geçerli yöntem için özel durumlara erişim sağlayan bir MethodBody nesnesi alır.

(Devralındığı yer: MethodBase)
GetMethodImplementationFlags()

Bu oluşturucu için yöntem uygulama bayraklarını döndürür.

GetMethodImplementationFlags()

Türetilmiş bir sınıfta geçersiz kılındığında bayrakları döndürür MethodImplAttributes .

(Devralındığı yer: MethodBase)
GetModule()

Bu oluşturucuyu içeren modüle bir başvuru döndürür.

GetParameters()

Bu oluşturucunun parametrelerini döndürür.

GetToken()

MethodToken Bu oluşturucu için belirteci temsil eden öğesini döndürür.

GetType()

Sınıf oluşturucunun özniteliklerini bulur ve oluşturucu meta verilerine erişim sağlar.

(Devralındığı yer: ConstructorInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Dinamik bir sınıfın oluşturucusunun tanımlar ve temsil eder.

(Devralındığı yer: MemberInfo)
Invoke(BindingFlags, Binder, Object[], CultureInfo)

Verilen nesnede bu örnek tarafından temsil edilen oluşturucuyu dinamik olarak çağırır, belirtilen parametreler boyunca ve verilen bağlayıcının kısıtlamaları altında geçirir.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Türetilmiş bir sınıfta uygulandığında, belirtilen bağımsız değişkenlerle bu tarafından ConstructorInfo yansıtılan oluşturucuyu belirtilen Binderöğesinin kısıtlamaları altında çağırır.

(Devralındığı yer: ConstructorInfo)
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Bu örnekte belirtilen bağımsız değişkenlerle yansıtılan oluşturucuyu, belirtilen öğesinin kısıtlamaları Binderaltında dinamik olarak çağırır.

Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Türetilmiş bir sınıfta geçersiz kılındığında, yansıtılan yöntemi veya oluşturucuyu verilen parametrelerle çağırır.

(Devralındığı yer: MethodBase)
Invoke(Object, Object[])

Belirtilen parametreleri kullanarak geçerli örnek tarafından temsil edilen yöntemi veya oluşturucuyu çağırır.

(Devralındığı yer: MethodBase)
Invoke(Object[])

Belirtilen parametreleri içeren örnek tarafından yansıtılan oluşturucuyu çağırır ve yaygın olarak kullanılmayan parametreler için varsayılan değerler sağlar.

(Devralındığı yer: ConstructorInfo)
IsDefined(Type, Boolean)

Belirtilen özel öznitelik türünün tanımlandığını denetler.

IsDefined(Type, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen türde veya türetilmiş türlerinden bir veya daha fazla özniteliğin bu üyeye uygulanıp uygulanmadığını gösterir.

(Devralındığı yer: MemberInfo)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetCustomAttribute(ConstructorInfo, Byte[])

Belirtilen özel öznitelik blobu kullanarak özel bir öznitelik ayarlayın.

SetCustomAttribute(CustomAttributeBuilder)

Özel öznitelik oluşturucu kullanarak özel bir öznitelik ayarlayın.

SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>)

Türetilmiş bir sınıfta geçersiz kılındığında, bu oluşturucuda özel bir öznitelik ayarlar.

SetImplementationFlags(MethodImplAttributes)

Bu oluşturucu için yöntem uygulama bayraklarını ayarlar.

SetImplementationFlagsCore(MethodImplAttributes)

Türetilmiş bir sınıfta geçersiz kılındığında, bu oluşturucu için yöntem uygulama bayraklarını ayarlar.

SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>)

Microsoft ara dili (MSIL) yönergelerinin belirtilen bayt dizisini kullanarak oluşturucunun gövdesini oluşturur.

SetSymCustomAttribute(String, Byte[])

Bu oluşturucuyu sembolik bilgilerle ilişkili özel özniteliğini ayarlar.

ToString()

Bu ConstructorBuilder örneği olarak Stringdöndürür.

Belirtik Arabirim Kullanımları

_ConstructorBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

_ConstructorBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

_ConstructorBuilder.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

_ConstructorBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

_ConstructorInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.GetType()

Türü temsil eden ConstructorInfo bir Type nesne alır.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo)

YÖNTEMIne sürümden bağımsız erişime Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) sahip COM nesneleri sağlar.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.Invoke_3(Object, Object[])

YÖNTEMIne sürümden bağımsız erişime Invoke(Object, Object[]) sahip COM nesneleri sağlar.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo)

YÖNTEMIne sürümden bağımsız erişime Invoke(BindingFlags, Binder, Object[], CultureInfo) sahip COM nesneleri sağlar.

(Devralındığı yer: ConstructorInfo)
_ConstructorInfo.Invoke_5(Object[])

YÖNTEMIne sürümden bağımsız erişime Invoke(Object[]) sahip COM nesneleri sağlar.

(Devralındığı yer: ConstructorInfo)
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetType()

sınıfını MemberInfo temsil eden bir Type nesne alır.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: MethodBase)
_MethodBase.GetType()

Bu üyenin açıklaması için bkz GetType(). .

(Devralındığı yer: MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

(Devralındığı yer: MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: MethodBase)
_MethodBase.IsAbstract

Bu üyenin açıklaması için bkz IsAbstract. .

(Devralındığı yer: MethodBase)
_MethodBase.IsAssembly

Bu üyenin açıklaması için bkz IsAssembly. .

(Devralındığı yer: MethodBase)
_MethodBase.IsConstructor

Bu üyenin açıklaması için bkz IsConstructor. .

(Devralındığı yer: MethodBase)
_MethodBase.IsFamily

Bu üyenin açıklaması için bkz IsFamily. .

(Devralındığı yer: MethodBase)
_MethodBase.IsFamilyAndAssembly

Bu üyenin açıklaması için bkz IsFamilyAndAssembly. .

(Devralındığı yer: MethodBase)
_MethodBase.IsFamilyOrAssembly

Bu üyenin açıklaması için bkz IsFamilyOrAssembly. .

(Devralındığı yer: MethodBase)
_MethodBase.IsFinal

Bu üyenin açıklaması için bkz IsFinal. .

(Devralındığı yer: MethodBase)
_MethodBase.IsHideBySig

Bu üyenin açıklaması için bkz IsHideBySig. .

(Devralındığı yer: MethodBase)
_MethodBase.IsPrivate

Bu üyenin açıklaması için bkz IsPrivate. .

(Devralındığı yer: MethodBase)
_MethodBase.IsPublic

Bu üyenin açıklaması için bkz IsPublic. .

(Devralındığı yer: MethodBase)
_MethodBase.IsSpecialName

Bu üyenin açıklaması için bkz IsSpecialName. .

(Devralındığı yer: MethodBase)
_MethodBase.IsStatic

Bu üyenin açıklaması için bkz IsStatic. .

(Devralındığı yer: MethodBase)
_MethodBase.IsVirtual

Bu üyenin açıklaması için bkz IsVirtual. .

(Devralındığı yer: MethodBase)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Adlandırılmış öznitelikler hariç, bu üyede tanımlanan tüm özel özniteliklerin dizisini veya özel öznitelikler yoksa boş bir diziyi döndürür.

(Devralındığı yer: MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Bu üyede tanımlanan, türe göre tanımlanan bir özel öznitelik dizisi veya bu türde özel öznitelikler yoksa boş bir dizi döndürür.

(Devralındığı yer: MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Bir veya daha fazla örneğinin bu üyede tanımlanıp tanımlanmadığını attributeType gösterir.

(Devralındığı yer: MemberInfo)

Uzantı Metotları

GetCustomAttribute(MemberInfo, Type)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır.

GetCustomAttribute(MemberInfo, Type, Boolean)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır ve isteğe bağlı olarak bu üyenin üstlerini inceler.

GetCustomAttribute<T>(MemberInfo)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır.

GetCustomAttribute<T>(MemberInfo, Boolean)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır ve isteğe bağlı olarak bu üyenin üstlerini inceler.

GetCustomAttributes(MemberInfo)

Belirtilen üyeye uygulanan özel öznitelikler koleksiyonunu alır.

GetCustomAttributes(MemberInfo, Boolean)

Belirtilen üyeye uygulanan özel özniteliklerden oluşan bir koleksiyonu alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttributes(MemberInfo, Type)

Belirtilen bir üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır.

GetCustomAttributes(MemberInfo, Type, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır ve isteğe bağlı olarak bu üyenin üstlerini inceler.

GetCustomAttributes<T>(MemberInfo)

Belirtilen bir üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır.

GetCustomAttributes<T>(MemberInfo, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır ve isteğe bağlı olarak bu üyenin üstlerini inceler.

IsDefined(MemberInfo, Type)

Belirtilen türde özel özniteliklerin belirtilen üyeye uygulanıp uygulanmadığını gösterir.

IsDefined(MemberInfo, Type, Boolean)

Belirtilen türlerdeki özel özniteliklerin belirtilen üyeye uygulanıp uygulanmadığını ve isteğe bağlı olarak, üstlerine uygulanıp uygulanmadığını gösterir.

GetMetadataToken(MemberInfo)

Varsa, verilen üye için bir meta veri belirteci alır.

HasMetadataToken(MemberInfo)

Belirtilen üye için bir meta veri belirtecinin kullanılabilir olup olmadığını gösteren bir değer döndürür.

Şunlara uygulanır