ConstructorBuilder Klass

Definition

Definierar och representerar en konstruktor för en dynamisk klass.

public ref class ConstructorBuilder sealed : System::Reflection::ConstructorInfo, System::Runtime::InteropServices::_ConstructorBuilder
public ref class ConstructorBuilder sealed : 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
public sealed class ConstructorBuilder : System.Reflection.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
type ConstructorBuilder = class
    inherit ConstructorInfo
Public NotInheritable Class ConstructorBuilder
Inherits ConstructorInfo
Implements _ConstructorBuilder
Public NotInheritable Class ConstructorBuilder
Inherits ConstructorInfo
Arv
Attribut
Implementeringar

Exempel

Följande kodexempel illustrerar kontextuell användning av en ConstructorBuilder.


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

Kommentarer

ConstructorBuilder används för att helt beskriva en konstruktor i Microsoft mellanliggande språk (MSIL), inklusive namn, attribut, signatur och konstruktortext. Den används tillsammans med TypeBuilder klassen för att skapa klasser vid körning. Anropa DefineConstructor för att hämta en instans av ConstructorBuilder.

Om du inte definierar en konstruktor för din dynamiska typ tillhandahålls en parameterlös konstruktor automatiskt och anropar den parameterlösa konstruktorn för basklassen.

Om du använder ConstructorBuilder för att definiera en konstruktor för din dynamiska typ tillhandahålls ingen parameterlös konstruktor. Du har följande alternativ för att tillhandahålla en parameterlös konstruktor utöver konstruktorn som du definierade:

  • Om du vill ha en parameterlös konstruktor som helt enkelt anropar den parameterlösa konstruktorn för basklassen TypeBuilder.DefineDefaultConstructor kan du använda metoden för att skapa en (och eventuellt begränsa åtkomsten till den). Ange ingen implementering för den här parameterlösa konstruktorn. Om du gör det utlöses ett undantag när du försöker använda konstruktorn. Inget undantag utlöses när TypeBuilder.CreateType metoden anropas.

  • Om du vill ha en parameterlös konstruktor som gör något mer än att bara anropa den parameterlösa konstruktorn för basklassen, eller som anropar en annan konstruktor i basklassen, eller som gör något helt annat, måste du använda TypeBuilder.DefineConstructor metoden för att skapa en ConstructorBuilder, och tillhandahålla din egen implementering.

Egenskaper

Name Description
Attributes

Hämtar attributen för den här konstruktorn.

CallingConvention

Hämtar ett CallingConventions värde som beror på om deklareringstypen är generisk.

CallingConvention

Hämtar ett värde som anger anropskonventionerna för den här metoden.

(Ärvd från MethodBase)
ContainsGenericParameters

Hämtar ett värde som anger om den generiska metoden innehåller otilldelade generiska typparametrar.

(Ärvd från MethodBase)
CustomAttributes

Hämtar en samling som innehåller den här medlemmens anpassade attribut.

(Ärvd från MemberInfo)
DeclaringType

Hämtar en referens till Type objektet för den typ som deklarerar den här medlemmen.

InitLocals

Hämtar eller anger om de lokala variablerna i den här konstruktorn ska vara nollinitierade.

IsAbstract

Hämtar ett värde som anger om metoden är abstrakt.

(Ärvd från MethodBase)
IsAssembly

Hämtar ett värde som anger om den potentiella synligheten för den här metoden eller konstruktorn beskrivs av Assembly. Metoden eller konstruktorn visas som mest för andra typer i samma sammansättning och är inte synlig för härledda typer utanför sammansättningen.

(Ärvd från MethodBase)
IsConstructedGenericMethod

Definierar och representerar en konstruktor för en dynamisk klass.

(Ärvd från MethodBase)
IsConstructor

Hämtar ett värde som anger om metoden är en konstruktor.

(Ärvd från MethodBase)
IsFamily

Hämtar ett värde som anger om synligheten för den här metoden eller konstruktorn beskrivs av Family, det vill sägs att metoden eller konstruktorn endast visas inom dess klass och härledda klasser.

(Ärvd från MethodBase)
IsFamilyAndAssembly

Hämtar ett värde som anger om synligheten för den här metoden eller konstruktorn beskrivs av FamANDAssem. Metoden eller konstruktorn kan anropas av härledda klasser, men bara om de finns i samma sammansättning.

(Ärvd från MethodBase)
IsFamilyOrAssembly

Hämtar ett värde som anger om den potentiella synligheten för den här metoden eller konstruktorn beskrivs av FamORAssem. Det innebär att metoden eller konstruktorn kan anropas av härledda klasser var de än befinner sig och efter klasser i samma sammansättning.

(Ärvd från MethodBase)
IsFinal

Hämtar ett värde som anger om den här metoden är final.

(Ärvd från MethodBase)
IsGenericMethod

Hämtar ett värde som anger om metoden är generisk.

(Ärvd från MethodBase)
IsGenericMethodDefinition

Hämtar ett värde som anger om metoden är en allmän metoddefinition.

(Ärvd från MethodBase)
IsHideBySig

Hämtar ett värde som anger om endast en medlem av samma typ med exakt samma signatur är dold i den härledda klassen.

(Ärvd från MethodBase)
IsPrivate

Hämtar ett värde som anger om den här medlemmen är privat.

(Ärvd från MethodBase)
IsPublic

Hämtar ett värde som anger om det här är en offentlig metod.

(Ärvd från MethodBase)
IsSecurityCritical

Hämtar ett värde som anger om den aktuella metoden eller konstruktorn är säkerhetskritisk eller säkerhetssäker på den aktuella förtroendenivån och därför kan utföra kritiska åtgärder.

(Ärvd från MethodBase)
IsSecuritySafeCritical

Hämtar ett värde som anger om den aktuella metoden eller konstruktorn är säkerhetssäker-kritisk på den aktuella förtroendenivån. det vill: om den kan utföra kritiska åtgärder och kan nås med transparent kod.

(Ärvd från MethodBase)
IsSecurityTransparent

Hämtar ett värde som anger om den aktuella metoden eller konstruktorn är transparent på den aktuella förtroendenivån och därför inte kan utföra kritiska åtgärder.

(Ärvd från MethodBase)
IsSpecialName

Hämtar ett värde som anger om den här metoden har ett särskilt namn.

(Ärvd från MethodBase)
IsStatic

Hämtar ett värde som anger om metoden är static.

(Ärvd från MethodBase)
IsVirtual

Hämtar ett värde som anger om metoden är virtual.

(Ärvd från MethodBase)
MemberType

Hämtar ett MemberTypes värde som anger att den här medlemmen är konstruktor.

(Ärvd från ConstructorInfo)
MetadataToken

Hämtar ett värde som identifierar ett metadataelement.

(Ärvd från MemberInfo)
MethodHandle

Hämtar det interna handtaget för metoden. Använd den här referensen för att komma åt det underliggande metadatahandtaget.

MethodImplementationFlags

MethodImplAttributes Hämtar flaggorna som anger attributen för en metodimplementering.

(Ärvd från MethodBase)
Module

Hämtar den dynamiska modul där konstruktorn har definierats.

Name

Hämtar namnet på konstruktorn.

ReflectedType

Innehåller en referens till objektet Type som objektet hämtades från.

ReturnType
Föråldrad.

Hämtar null.

Signature

Hämtar signaturen för fältet i form av en sträng.

Metoder

Name Description
AddDeclarativeSecurity(SecurityAction, PermissionSet)

Lägger till deklarativ säkerhet i den här konstruktorn.

DefineParameter(Int32, ParameterAttributes, String)

Definierar en parameter för den här konstruktorn.

Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från ConstructorInfo)
GetCustomAttributes(Boolean)

Returnerar alla anpassade attribut som definierats för den här konstruktorn.

GetCustomAttributes(Type, Boolean)

Returnerar de anpassade attribut som identifieras av den angivna typen.

GetCustomAttributesData()

Returnerar en lista över CustomAttributeData objekt som representerar data om de attribut som har tillämpats på målmedlemmen.

(Ärvd från MemberInfo)
GetGenericArguments()

Returnerar en matris med Type objekt som representerar typargumenten för en generisk metod eller typparametrarna för en generisk metoddefinition.

(Ärvd från MethodBase)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från ConstructorInfo)
GetILGenerator()

Hämtar en ILGenerator för den här konstruktorn.

GetILGenerator(Int32)

Hämtar ett ILGenerator objekt med angiven MSIL-strömstorlek som kan användas för att skapa en metodtext för den här konstruktorn.

GetMethodBody()

När det åsidosätts i en härledd klass hämtar ett MethodBody objekt som ger åtkomst till MSIL-strömmen, lokala variabler och undantag för den aktuella metoden.

(Ärvd från MethodBase)
GetMethodImplementationFlags()

Returnerar metodimplementeringsflaggor för den här konstruktorn.

GetModule()

Returnerar en referens till modulen som innehåller den här konstruktorn.

GetParameters()

Returnerar parametrarna för den här konstruktorn.

GetToken()

MethodToken Returnerar som representerar token för den här konstruktorn.

GetType()

Identifierar attributen för en klasskonstruktor och ger åtkomst till konstruktormetadata.

(Ärvd från ConstructorInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Definierar och representerar en konstruktor för en dynamisk klass.

(Ärvd från MemberInfo)
Invoke(BindingFlags, Binder, Object[], CultureInfo)

Anropar dynamiskt konstruktorn som representeras av den här instansen på det angivna objektet, passerar längs de angivna parametrarna och under begränsningarna för det angivna bindemedlet.

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

Anropar konstruktorn dynamiskt som återspeglas av den här instansen med de angivna argumenten, under begränsningarna i den angivna Binder.

Invoke(Object, Object[])

Anropar metoden eller konstruktorn som representeras av den aktuella instansen med hjälp av de angivna parametrarna.

(Ärvd från MethodBase)
Invoke(Object[])

Anropar konstruktorn som återspeglas av den instans som har de angivna parametrarna, vilket ger standardvärden för de parametrar som inte används ofta.

(Ärvd från ConstructorInfo)
IsDefined(Type, Boolean)

Kontrollerar om den angivna anpassade attributtypen har definierats.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetCustomAttribute(ConstructorInfo, Byte[])

Ange ett anpassat attribut med en angiven anpassad attributblob.

SetCustomAttribute(CustomAttributeBuilder)

Ange ett anpassat attribut med hjälp av en anpassad attributbyggare.

SetImplementationFlags(MethodImplAttributes)

Anger metodimplementeringsflaggor för den här konstruktorn.

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

Skapar konstruktorns brödtext med hjälp av en angiven bytematris med instruktioner för Microsoft mellanliggande språk (MSIL).

SetSymCustomAttribute(String, Byte[])

Anger konstruktorns anpassade attribut som är associerat med symbolisk information.

ToString()

Returnerar den här ConstructorBuilder instansen som en String.

Explicita gränssnittsimplementeringar

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

_ConstructorBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

_ConstructorBuilder.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

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

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från ConstructorInfo)
_ConstructorInfo.GetType()

Hämtar ett Type objekt som representerar ConstructorInfo typen.

(Ärvd från ConstructorInfo)
_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från ConstructorInfo)
_ConstructorInfo.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från ConstructorInfo)
_ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo)

Tillhandahåller COM-objekt med versionsoberoende åtkomst till Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) metoden.

(Ärvd från ConstructorInfo)
_ConstructorInfo.Invoke_3(Object, Object[])

Tillhandahåller COM-objekt med versionsoberoende åtkomst till Invoke(Object, Object[]) metoden.

(Ärvd från ConstructorInfo)
_ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo)

Tillhandahåller COM-objekt med versionsoberoende åtkomst till Invoke(BindingFlags, Binder, Object[], CultureInfo) metoden.

(Ärvd från ConstructorInfo)
_ConstructorInfo.Invoke_5(Object[])

Tillhandahåller COM-objekt med versionsoberoende åtkomst till Invoke(Object[]) metoden.

(Ärvd från ConstructorInfo)
_ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från ConstructorInfo)
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från MemberInfo)
_MemberInfo.GetType()

Hämtar ett Type objekt som representerar MemberInfo klassen.

(Ärvd från MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från MethodBase)
_MethodBase.GetType()

En beskrivning av den här medlemmen finns i GetType().

(Ärvd från MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från MethodBase)
_MethodBase.IsAbstract

En beskrivning av den här medlemmen finns i IsAbstract.

(Ärvd från MethodBase)
_MethodBase.IsAssembly

En beskrivning av den här medlemmen finns i IsAssembly.

(Ärvd från MethodBase)
_MethodBase.IsConstructor

En beskrivning av den här medlemmen finns i IsConstructor.

(Ärvd från MethodBase)
_MethodBase.IsFamily

En beskrivning av den här medlemmen finns i IsFamily.

(Ärvd från MethodBase)
_MethodBase.IsFamilyAndAssembly

En beskrivning av den här medlemmen finns i IsFamilyAndAssembly.

(Ärvd från MethodBase)
_MethodBase.IsFamilyOrAssembly

En beskrivning av den här medlemmen finns i IsFamilyOrAssembly.

(Ärvd från MethodBase)
_MethodBase.IsFinal

En beskrivning av den här medlemmen finns i IsFinal.

(Ärvd från MethodBase)
_MethodBase.IsHideBySig

En beskrivning av den här medlemmen finns i IsHideBySig.

(Ärvd från MethodBase)
_MethodBase.IsPrivate

En beskrivning av den här medlemmen finns i IsPrivate.

(Ärvd från MethodBase)
_MethodBase.IsPublic

En beskrivning av den här medlemmen finns i IsPublic.

(Ärvd från MethodBase)
_MethodBase.IsSpecialName

En beskrivning av den här medlemmen finns i IsSpecialName.

(Ärvd från MethodBase)
_MethodBase.IsStatic

En beskrivning av den här medlemmen finns i IsStatic.

(Ärvd från MethodBase)
_MethodBase.IsVirtual

En beskrivning av den här medlemmen finns i IsVirtual.

(Ärvd från MethodBase)

Tilläggsmetoder

Name Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade objekt.

GetCustomAttribute(MemberInfo, Type)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttribute<T>(MemberInfo, Boolean)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade objekt.

GetCustomAttribute<T>(MemberInfo)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttributes(MemberInfo, Boolean)

Hämtar en samling anpassade attribut som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes(MemberInfo, Type, Boolean)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes(MemberInfo, Type)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttributes(MemberInfo)

Hämtar en samling anpassade attribut som tillämpas på en angiven medlem.

GetCustomAttributes<T>(MemberInfo, Boolean)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes<T>(MemberInfo)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem.

IsDefined(MemberInfo, Type, Boolean)

Anger om anpassade attribut av en angiven typ tillämpas på en angiven medlem och eventuellt tillämpas på dess överordnade.

IsDefined(MemberInfo, Type)

Anger om anpassade attribut av en angiven typ tillämpas på en angiven medlem.

Gäller för