ConstructorInfo.Invoke Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anropar konstruktorn som återspeglas av den här instansen.
Överlagringar
| Name | Description |
|---|---|
| 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. |
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
När den implementeras i en härledd klass anropas konstruktorn som återspeglas av detta |
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.
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke(object[] parameters);
public object Invoke(object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
Parametrar
- parameters
- Object[]
En matris med värden som matchar tal, ordning och typ (under begränsningarna i standardbindaren) för parametrarna för den här konstruktorn. Om konstruktorn inte tar några parametrar använder du antingen en matris med noll element eller null, som i Object[] parameters = new Object[0]. Alla objekt i den här matrisen som inte uttryckligen initieras med ett värde innehåller standardvärdet för den objekttypen. För element av referenstyp är nulldet här värdet . För värdetypselement är det här värdet 0, 0,0 eller false, beroende på den specifika elementtypen.
Returer
En instans av klassen som är associerad med konstruktorn.
Undantag
Konstruktorn är privat eller skyddad och anroparen saknar MemberAccess.
Obs! I .NET för Windows Store-appar eller Portable Class Library fångar du i stället basklassfelet MemberAccessException.
Matrisen parameters innehåller inte värden som matchar de typer som accepteras av konstruktorn.
Den anropade konstruktorn utlöser ett undantag.
Ett felaktigt antal parametrar skickades.
TypedReferenceDet går inte att skapa , ArgIteratoroch RuntimeArgumentHandle typer.
Anroparen har inte nödvändig kodåtkomstbehörighet.
Kommentarer
Tal, typ och ordning för element i matrisen parameters ska vara identiska med parametrarna tal, typ och ordning för konstruktorn som återspeglas av den här instansen. Innan du anropar konstruktorn Invoke kontrollerar du att anroparen har åtkomstbehörighet och verifierar att parametrarna är giltiga.
Åtkomstbegränsningar ignoreras för fullständigt betrodd kod. Det vill: privata konstruktorer, metoder, fält och egenskaper kan nås och anropas med reflektion när koden är helt betrodd.
Note
Om du vill skapa en instans av en värdetyp som inte har några instanskonstruktorer använder du CreateInstance metoden .
Den här metoden är en bekvämlighetsmetod för följande överlagrade version med hjälp av standardvärden. Den här metoden kan inte åsidosättas.
Note
Den här metoden kan användas för åtkomst till icke-offentliga medlemmar om anroparen har beviljats ReflectionPermission med ReflectionPermissionFlag.RestrictedMemberAccess flaggan och om bidragsuppsättningen för icke-offentliga medlemmar är begränsad till anroparens bidragsuppsättning eller en delmängd av den. (Se Säkerhetsöverväganden för reflektion.) Om du vill använda den här funktionen bör ditt program rikta in sig på .NET Framework 3.5 eller senare.
Gäller för
Invoke(BindingFlags, Binder, Object[], CultureInfo)
När den implementeras i en härledd klass anropas konstruktorn som återspeglas av detta ConstructorInfo med de angivna argumenten, under begränsningarna i den angivna Binder.
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametrar
- invokeAttr
- BindingFlags
Ett av de BindingFlags värden som anger typen av bindning.
- binder
- Binder
En Binder som definierar en uppsättning egenskaper och möjliggör bindning, tvång av argumenttyper och anrop av medlemmar med reflektion. Om binder är nullanvänds .Binder.DefaultBinding
- parameters
- Object[]
En matris av typen Object som används för att matcha parametrarnas nummer, ordning och typ för den här konstruktorn, under begränsningarna binderi . Om den här konstruktorn inte kräver parametrar skickar du en matris med noll element, som i Object[] parameters = new Object[0]. Alla objekt i den här matrisen som inte uttryckligen initieras med ett värde innehåller standardvärdet för den objekttypen. För element av referenstyp är nulldet här värdet . För värdetypselement är det här värdet 0, 0,0 eller false, beroende på den specifika elementtypen.
- culture
- CultureInfo
En CultureInfo som används för att styra tvång av typer. Om detta är nullCultureInfo används för den aktuella tråden.
Returer
En instans av klassen som är associerad med konstruktorn.
Undantag
Matrisen parameters innehåller inte värden som matchar de typer som accepteras av den här konstruktorn under begränsningarna i binder.
Den anropade konstruktorn utlöser ett undantag.
Ett felaktigt antal parametrar skickades.
TypedReferenceDet går inte att skapa , ArgIteratoroch RuntimeArgumentHandle typer.
Anroparen har inte nödvändiga behörigheter för kodåtkomst.
Konstruktorn är privat eller skyddad och anroparen saknar MemberAccess.
Kommentarer
Tal, typ och ordning för element i matrisen parameters ska vara identiska med parametrarna tal, typ och ordning för konstruktorn som återspeglas av den här instansen.
Innan du anropar konstruktorn Invoke ser du till att anroparen har åtkomstbehörighet och att parametrarna har rätt nummer, ordning och typ.
Åtkomstbegränsningar ignoreras för fullständigt betrodd kod. Det vill: privata konstruktorer, metoder, fält och egenskaper kan nås och anropas med reflektion när koden är helt betrodd.
Note
Om du vill skapa en instans av en värdetyp som inte har några instanskonstruktorer använder du CreateInstance metoden .
Note
Den här metoden kan användas för åtkomst till icke-offentliga medlemmar om anroparen har beviljats ReflectionPermission med ReflectionPermissionFlag.RestrictedMemberAccess flaggan och om bidragsuppsättningen för icke-offentliga medlemmar är begränsad till anroparens bidragsuppsättning eller en delmängd av den. (Se Säkerhetsöverväganden för reflektion.) Om du vill använda den här funktionen bör ditt program rikta in sig på .NET Framework 3.5 eller senare.