ConstructorInfo.Invoke Methode

Definitie

Roept de constructor aan die door dit exemplaar wordt weerspiegeld.

Overloads

Name Description
Invoke(Object[])

Roept de constructor aan die wordt weerspiegeld door het exemplaar met de opgegeven parameters, waarbij standaardwaarden worden opgegeven voor de parameters die niet vaak worden gebruikt.

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

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, roept u de constructor aan die wordt weerspiegeld door deze ConstructorInfo met de opgegeven argumenten, onder de beperkingen van de opgegeven Binderklasse.

Invoke(Object[])

Roept de constructor aan die wordt weerspiegeld door het exemplaar met de opgegeven parameters, waarbij standaardwaarden worden opgegeven voor de parameters die niet vaak worden gebruikt.

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

Parameters

parameters
Object[]

Een matrix met waarden die overeenkomt met het aantal, de volgorde en het type (onder de beperkingen van de standaardbinding) van de parameters voor deze constructor. Als deze constructor geen parameters gebruikt, gebruikt u een matrix met nul elementen of null, zoals in Object[] parameters = new Object[0]. Elk object in deze matrix dat niet expliciet is geïnitialiseerd met een waarde, bevat de standaardwaarde voor dat objecttype. Voor verwijzingstype-elementen is nulldeze waarde . Voor elementen van het waardetype is deze waarde 0, 0,0 of false, afhankelijk van het specifieke elementtype.

Retouren

Een exemplaar van de klasse die is gekoppeld aan de constructor.

Uitzonderingen

De klasse is abstract.

– of –

De constructor is een klasse-initialisatiefunctie.

De constructor is privé of beschermd en de aanroeper ontbreekt MemberAccess.

Opmerking: In .NET voor Windows Store-apps of de Portable Class Library, haalt u in plaats daarvan de uitzondering van de basisklasse op, MemberAccessException.

De parameters matrix bevat geen waarden die overeenkomen met de typen die door deze constructor worden geaccepteerd.

De aangeroepen constructor genereert een uitzondering.

Er is een onjuist aantal parameters doorgegeven.

Het maken van TypedReference, ArgIteratoren RuntimeArgumentHandle typen wordt niet ondersteund.

De aanroeper beschikt niet over de benodigde machtiging voor codetoegang.

Opmerkingen

Het aantal, het type en de volgorde van elementen in de parameters matrix moeten identiek zijn aan het aantal, het type en de volgorde van parameters voor de constructor die door dit exemplaar wordt weerspiegeld. Voordat u de constructor aanroept, Invoke controleert u of de aanroeper toegangsmachtigingen heeft en controleert u of de parameters geldig zijn.

Toegangsbeperkingen worden genegeerd voor volledig vertrouwde code. Dat wil gezegd, privéconstructors, methoden, velden en eigenschappen kunnen worden geopend en aangeroepen met behulp van reflectie wanneer de code volledig wordt vertrouwd.

Note

Als u een exemplaar van een waardetype wilt maken dat geen exemplaarconstructors heeft, gebruikt u de CreateInstance methode.

Deze methode is een handige methode voor de volgende overbelaste versie, met behulp van standaardwaarden. Deze methode kan niet worden overschreven.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare leden als de beller is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de niet-openbare leden is beperkt tot de toekenningsset van de beller of een subset daarvan. (Zie Beveiligingsoverwegingen voor reflectie.) Als u deze functionaliteit wilt gebruiken, moet uw toepassing zich richten op .NET Framework 3.5 of hoger.

Van toepassing op

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

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, roept u de constructor aan die wordt weerspiegeld door deze ConstructorInfo met de opgegeven argumenten, onder de beperkingen van de opgegeven Binderklasse.

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

Parameters

invokeAttr
BindingFlags

Een van de BindingFlags waarden die het type binding aangeeft.

binder
Binder

Een Binder die een set eigenschappen definieert en de binding, dwang van argumenttypen en aanroep van leden mogelijk maakt met behulp van weerspiegeling. Als binder dat het is null, wordt gebruikt Binder.DefaultBinding .

parameters
Object[]

Een matrix van het type Object dat wordt gebruikt om overeen te komen met het aantal, de volgorde en het type van de parameters voor deze constructor, onder de beperkingen van binder. Als deze constructor geen parameters vereist, geeft u een matrix door met nulelementen, zoals in Object[] parameters = new Object[0]. Elk object in deze matrix dat niet expliciet is geïnitialiseerd met een waarde, bevat de standaardwaarde voor dat objecttype. Voor verwijzingstype-elementen is nulldeze waarde . Voor elementen van het waardetype is deze waarde 0, 0,0 of false, afhankelijk van het specifieke elementtype.

culture
CultureInfo

Een CultureInfo die wordt gebruikt om de dwang van typen te bepalen. Als dit het is null, wordt het CultureInfo voor de huidige thread gebruikt.

Retouren

Een exemplaar van de klasse die is gekoppeld aan de constructor.

Uitzonderingen

De parameters matrix bevat geen waarden die overeenkomen met de typen die door deze constructor worden geaccepteerd, onder de beperkingen van de binder.

De aangeroepen constructor genereert een uitzondering.

Er is een onjuist aantal parameters doorgegeven.

Het maken van TypedReference, ArgIteratoren RuntimeArgumentHandle typen wordt niet ondersteund.

De aanroeper beschikt niet over de benodigde machtigingen voor codetoegang.

De klasse is abstract.

– of –

De constructor is een klasse-initialisatiefunctie.

De constructor is privé of beschermd en de aanroeper ontbreekt MemberAccess.

Opmerkingen

Het aantal, het type en de volgorde van elementen in de parameters matrix moeten identiek zijn aan het aantal, het type en de volgorde van parameters voor de constructor die door dit exemplaar wordt weerspiegeld.

Voordat u de constructor aanroept, Invoke zorgt u ervoor dat de aanroeper toegangsmachtigingen heeft en dat de parameters van het juiste nummer, de juiste volgorde en het juiste type zijn.

Toegangsbeperkingen worden genegeerd voor volledig vertrouwde code. Dat wil gezegd, privéconstructors, methoden, velden en eigenschappen kunnen worden geopend en aangeroepen met behulp van reflectie wanneer de code volledig wordt vertrouwd.

Note

Als u een exemplaar van een waardetype wilt maken dat geen exemplaarconstructors heeft, gebruikt u de CreateInstance methode.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare leden als de beller is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de niet-openbare leden is beperkt tot de toekenningsset van de beller of een subset daarvan. (Zie Beveiligingsoverwegingen voor reflectie.) Als u deze functionaliteit wilt gebruiken, moet uw toepassing zich richten op .NET Framework 3.5 of hoger.

Zie ook

Van toepassing op