Activator.CreateInstance Methode

Definitie

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

Overloads

Name Description
CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Verouderd.

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(Type, Object[], Object[])

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(String, String, Object[])

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven met behulp van de benoemde assembly en parameterloze constructor.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Verouderd.

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(Type, Object[])

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

CreateInstance(Type, Boolean)

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de parameterloze constructor van dat type.

CreateInstance(String, String)

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven met behulp van de benoemde assembly en parameterloze constructor.

CreateInstance(ActivationContext, String[])

Hiermee maakt u een exemplaar van het type dat wordt aangewezen door het opgegeven ActivationContext object en wordt geactiveerd met de opgegeven aangepaste activeringsgegevens.

CreateInstance(Type)

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de parameterloze constructor van dat type.

CreateInstance(ActivationContext)

Hiermee maakt u een exemplaar van het type dat is aangewezen door het opgegeven ActivationContext object.

CreateInstance(AppDomain, String, String)

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en parameterloze constructor.

CreateInstance<T>()

Hiermee maakt u een exemplaar van het type dat is aangewezen door de opgegeven algemene typeparameter, met behulp van de parameterloze constructor.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Let op

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle

Parameters

domain
AppDomain

Het domein waarin het type met de naam typeName is gemaakt.

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

ignoreCase
Boolean

true om op te geven dat de zoekopdracht typeName niet hoofdlettergevoelig is; false om op te geven dat de zoekopdracht hoofdlettergevoelig is.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de typeName constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert typeName . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de typeName constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat. Hiermee UrlAttribute geeft u de URL op die is vereist voor het activeren van een extern object.

securityAttributes
Evidence

Informatie die wordt gebruikt om beslissingen te nemen over het beveiligingsbeleid en codemachtigingen te verlenen.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Kenmerken

Uitzonderingen

domain of typeName is null.

Er is geen overeenkomende constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Opmerkingen

Gebruik CreateInstance deze opdracht wanneer een host code moet uitvoeren in een toepassingsdomein met beperkte beveiligingsmachtigingen.

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

Van toepassing op

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

Parameters

domain
AppDomain

Het domein waarin het type met de naam typeName is gemaakt.

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

ignoreCase
Boolean

true om op te geven dat de zoekopdracht typeName niet hoofdlettergevoelig is; false om op te geven dat de zoekopdracht hoofdlettergevoelig is.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de typeName constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert typeName . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de typeName constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Kenmerken

Uitzonderingen

domain of typeName is null.

Er is geen overeenkomende constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Opmerkingen

Gebruik CreateInstance deze opdracht wanneer een host code moet uitvoeren in een toepassingsdomein met beperkte beveiligingsmachtigingen.

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

Van toepassing op

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

Parameters

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

ignoreCase
Boolean

true om op te geven dat de zoekopdracht typeName niet hoofdlettergevoelig is; false om op te geven dat de zoekopdracht hoofdlettergevoelig is.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de typeName constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert typeName . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de typeName constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte exemplaar of null voor Nullable<T> exemplaren zonder waarde.

Kenmerken

Uitzonderingen

typeName is null.

Er is geen overeenkomende constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Opmerkingen

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

In .NET Core 3.0 en hoger worden assemblybelastingen die door deze API worden geactiveerd, beïnvloed door de huidige waarde van AssemblyLoadContext.CurrentContextualReflectionContext.

Note

Deze methode kan worden gebruikt om niet-openbare typen en leden te maken als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly met de niet-openbare typen en leden is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static object? CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static object CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj
Public Shared Function CreateInstance (type As Type, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de type constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert type . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de type constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende constructor gevonden.

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Opmerkingen

De constructor die moet worden aangeroepen, moet de meest specifieke overeenkomst bieden met de opgegeven argumentenlijst onder de beperkingen van de opgegeven bindingskenmerken en bindingskenmerken.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen en leden als de beller is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de niet-openbare typen en leden is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture);
public static object? CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture);
public static object CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Shared Function CreateInstance (type As Type, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de type constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert type . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de type constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende constructor gevonden.

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Opmerkingen

De constructor die moet worden aangeroepen, moet de meest specifieke overeenkomst bieden met de opgegeven argumentenlijst onder de beperkingen van de opgegeven bindingskenmerken en bindingskenmerken.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen en leden als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly met de niet-openbare typen en leden is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(Type, Object[], Object[])

Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args, cli::array <System::Object ^> ^ activationAttributes);
public static object? CreateInstance(Type type, object?[]? args, object?[]? activationAttributes);
public static object CreateInstance(Type type, object[] args, object[] activationAttributes);
static member CreateInstance : Type * obj[] * obj[] -> obj
Public Shared Function CreateInstance (type As Type, args As Object(), activationAttributes As Object()) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende openbare constructor gevonden.

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Opmerkingen

De constructor die moet worden aangeroepen, moet toegankelijk zijn en moet de meest specifieke overeenkomst bieden met de opgegeven argumentenlijst.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly die de niet-openbare typen bevat, is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(String, String, Object[])

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven met behulp van de benoemde assembly en parameterloze constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, object[] activationAttributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Parameters

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Kenmerken

Uitzonderingen

typeName is null.

Er is geen overeenkomende openbare constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

activationAttributes is geen UrlAttribute

array

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

De aangeroepen constructor genereert een uitzondering.

– of –

Er is een fout opgetreden bij het uitvoeren van externe activering in een doel dat is opgegeven in activationAttributes.

Opmerkingen

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

In .NET Core 3.0 en hoger worden assemblybelastingen die door deze API worden geactiveerd, beïnvloed door de huidige waarde van AssemblyLoadContext.CurrentContextualReflectionContext.

Note

Deze methode kan worden gebruikt om niet-openbare typen te maken als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de niet-openbare typen is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Let op

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven, met behulp van de benoemde assembly en de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle

Parameters

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

ignoreCase
Boolean

true om op te geven dat de zoekopdracht typeName niet hoofdlettergevoelig is; false om op te geven dat de zoekopdracht hoofdlettergevoelig is.

bindingAttr
BindingFlags

Een combinatie van nul of meer bitvlagmen die van invloed zijn op de zoekopdracht naar de typeName constructor. Als bindingAttr nul is, wordt een hoofdlettergevoelige zoekopdracht uitgevoerd naar openbare constructors.

binder
Binder

Een object dat de constructor gebruikt bindingAttr en args identificeert typeName . Als binder dat het is null, wordt de standaardbinding gebruikt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

culture
CultureInfo

Cultuurspecifieke informatie die de dwang van args de formele typen regelt die voor de typeName constructor zijn gedeclareerd. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

activationAttributes
Object[]

Een matrix van een of meer kenmerken die kunnen deelnemen aan de activering. Dit is doorgaans een matrix die één UrlAttribute object bevat dat de URL aangeeft die nodig is om een extern object te activeren.

Deze parameter is gerelateerd aan door de client geactiveerde objecten. Clientactivering is een verouderde technologie die behouden blijft voor achterwaartse compatibiliteit, maar wordt niet aanbevolen voor nieuwe ontwikkeling. Gedistribueerde toepassingen moeten in plaats daarvan Windows Communication Foundation gebruiken.

securityInfo
Evidence

Informatie die wordt gebruikt om beslissingen te nemen over het beveiligingsbeleid en codemachtigingen te verlenen.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Kenmerken

Uitzonderingen

typeName is null.

Er is geen overeenkomende constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

activationAttributes is geen lege matrix en het type dat wordt gemaakt, is niet afgeleid van MarshalByRefObject.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Opmerkingen

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

Note

Deze methode kan worden gebruikt om niet-openbare typen en leden te maken als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly met de niet-openbare typen en leden is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(Type, Object[])

Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de constructor die het beste overeenkomt met de opgegeven parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, ... cli::array <System::Object ^> ^ args);
public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args);
public static object CreateInstance(Type type, params object[] args);
public static object? CreateInstance(Type type, params object?[]? args);
public static object CreateInstance(Type type, object[] args);
static member CreateInstance : Type * obj[] -> obj
Public Shared Function CreateInstance (type As Type, ParamArray args As Object()) As Object
Public Shared Function CreateInstance (type As Type, args As Object()) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

args
Object[]

Een matrix met argumenten die overeenkomen in getal, volgorde en typ de parameters van de constructor die moet worden aangeroepen. Als args dit een lege matrix is of null, wordt de constructor die geen parameters (de parameterloze constructor) gebruikt, aangeroepen.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren zonder waarde.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

– of –

De constructor die de beste overeenkomsten args heeft, heeft varargs argumenten.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

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

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende openbare constructor gevonden.

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

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Voorbeelden

In het volgende voorbeeld wordt de CreateInstance(Type, Object[]) methode aangeroepen om een String object te maken. Hiermee wordt de String.String(Char[], Int32, Int32) constructor aanroepen om een tekenreeks te instantiëren die tien elementen van een tekenmatrix bevat vanaf de veertiende positie.

using System;

public class Example
{
   public static void Main()
   {
      // Initialize array of characters from a to z.
      char[] chars = new char[26];
      for (int ctr = 0; ctr < 26; ctr++)
         chars[ctr] = (char) (ctr + 0x0061);

      object obj = Activator.CreateInstance(typeof(string),
                                            new object[] { chars, 13, 10 } );
      Console.WriteLine(obj);
   }
}
// The example displays the following output:
//       nopqrstuvw
open System

// Initialize array of characters from a to z.
let chars = [| 'a' .. 'z' |]

let obj = Activator.CreateInstance(typeof<string>, chars[13..22])

printfn $"{obj}"

// The example displays the following output:
//       nopqrstuvw
Module Example
   Public Sub Main()
      ' Initialize array of characters from a to z.
      Dim chars(25) As Char 
      For ctr As Short = 0 To 25
         chars(ctr) = ChrW(ctr + &h0061)
      Next 
      Dim obj As Object = Activator.CreateInstance(GetType(String),
                                                   { chars, 13, 10 })
      Console.WriteLine(obj)                                          
   End Sub
End Module
' The example displays the following output:
'       nopqrstuvw

In het volgende voorbeeld wordt een gelabelde matrix gemaakt waarvan de elementen argumenten zijn die moeten worden doorgegeven aan een String constructor. In het voorbeeld wordt vervolgens elke matrix doorgegeven aan de CreateInstance(Type, Object[]) methode om de juiste tekenreeksconstructor aan te roepen.

using System;

public class Example
{
   public static void Main()
   {
      char[] characters = { 'a', 'b', 'c', 'd', 'e', 'f' };
      object[][] arguments = new object[3][] { new object[] { characters },
                                               new object[] { characters, 1, 4 },
                                               new object[] { characters[1], 20 } };

      for (int ctr = 0; ctr <= arguments.GetUpperBound(0); ctr++) {
         object[] args = arguments[ctr];
         object result = Activator.CreateInstance(typeof(string), args);
         Console.WriteLine("{0}: {1}", result.GetType().Name, result);
      }
   }
}
// The example displays the following output:
//    String: abcdef
//    String: bcde
//    String: bbbbbbbbbbbbbbbbbbbb
open System

let chars = [| 'a' .. 'f' |]

let arguments =
    [| chars
       chars[1..4]
       Array.create 20 chars[1] |]

for args in arguments do
    let result =
        Activator.CreateInstance(typeof<string>, args)

    printfn $"{result.GetType().Name}: {result}"

// The example displays the following output:
//    String: abcdef
//    String: bcde
//    String: bbbbbbbbbbbbbbbbbbbb
Module Example
   Public Sub Main()
      Dim characters() As Char = { "a"c, "b"c, "c"c, "d"c, "e"c, "f"c }
      Dim arguments()() As Object = new Object(2)() { New Object() { characters },
                                                      New Object() { characters, 1, 4 },
                                                      New Object() { characters(1), 20 } }

      For ctr As Integer = 0 To arguments.GetUpperBound(0)
         Dim args() As Object = arguments(ctr)
         Dim result As Object = Activator.CreateInstance(GetType(String), args)
         Console.WriteLine("{0}: {1}", result.GetType().Name, result)
      Next
   End Sub
End Module
' The example displays the following output:
'       String: abcdef
'       String: bcde
'       String: bbbbbbbbbbbbbbbbbbbb

Opmerkingen

De constructor die moet worden aangeroepen, moet toegankelijk zijn en moet de meest specifieke overeenkomst bieden met de opgegeven argumentenlijst.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly die de niet-openbare typen bevat, is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(Type, Boolean)

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de parameterloze constructor van dat type.

public:
 static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object? CreateInstance(Type type, bool nonPublic);
public static object CreateInstance(Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj
Public Shared Function CreateInstance (type As Type, nonPublic As Boolean) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

nonPublic
Boolean

true als een openbare of niet-openbare parameterloze constructor kan overeenkomen; false als alleen een openbare parameterloze constructor kan overeenkomen.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende openbare constructor gevonden.

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Opmerkingen

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen en leden als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly met de niet-openbare typen en leden is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(String, String)

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven met behulp van de benoemde assembly en parameterloze constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parameters

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Kenmerken

Uitzonderingen

typeName is null.

Er is geen overeenkomende openbare constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

U kunt geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Voorbeelden

In het volgende voorbeeld wordt een klasse gedefinieerd die is benoemd Person in een assembly met de naam PersonInfo. Houd er rekening mee dat de Person klasse twee constructors heeft, waarvan één parameterloos is.

using System;

public class Person
{
   private string _name;

   public Person()
   { }

   public Person(string name)
   {
      this._name = name;
   }

   public string Name
   { get { return this._name; }
     set { this._name = value; } }

   public override string ToString()
   {
      return this._name;
   }
}
type Person(name) =
    member val Name = name with get, set

    override this.ToString() = this.Name

    new () = Person Unchecked.defaultof<string>
Public Class Person
   Private _name As String
   
   Public Sub New()
   End Sub
   
   Public Sub New(name As String)
      Me._name = name
   End Sub
   
   Public Property Name As String
      Get
         Return Me._name
      End Get
      Set
         Me._name = value
      End Set
   End Property
   
   Public Overrides Function ToString() As String
      Return Me._name
   End Function
End Class

In het volgende voorbeeld wordt de CreateInstance(String, String) methode aangeroepen om de Person klasse te instantiëren. Hiervoor moet een verwijzing naar PersonInfo.dll worden toegevoegd aan het project. Omdat de CreateInstance(String, String) methode de Person klasseparameterloze constructor aanroept, wijst het voorbeeld een waarde toe aan Name de eigenschap ervan.

using System;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Person p = (Person) handle.Unwrap();
      p.Name = "Samuel";
      Console.WriteLine(p);
   }
}
// The example displays the following output:
//        Samuel
open System

let handle = Activator.CreateInstance("PersonInfo", "Person")
let p = handle.Unwrap() :?> Person
p.Name <- "Samuel"
printfn $"{p}"

// The example displays the following output:
//        Samuel
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Person = CType(handle.Unwrap(), Person)
      p.Name = "Samuel"
      Console.WriteLine(p)
   End Sub
End Module
' The example displays the following output:
'       Samuel

CreateInstance Het wordt echter vaak aangeroepen om een type te instantiëren dat machinegrenzen overschrijdt of die niet bekend is tijdens het ontwerp. In dit geval kunt u geen verwijzing naar de assembly in het project opnemen en kunt u geen vroege aanroepen naar de leden van het type maken. Om deze beperking te omzeilen, gebruikt het volgende voorbeeld de CreateInstance methode samen met weerspiegeling om een waarde toe te wijzen aan de eigenschap van Person het object en om de Name waarde ervan weer te geven.

using System;
using System.Reflection;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      object p = handle.Unwrap();
      Type t = p.GetType();
      PropertyInfo prop = t.GetProperty("Name");
      if (prop != null)
         prop.SetValue(p, "Samuel");

      MethodInfo method = t.GetMethod("ToString");
      object retVal = method.Invoke(p, null);
      if (retVal != null)
         Console.WriteLine(retVal);
   }
}
// The example displays the following output:
//        Samuel
open System

let handle =
    Activator.CreateInstance("PersonInfo", "Person")

let p = handle.Unwrap()
let t = p.GetType()
let prop = t.GetProperty "Name"

if not (isNull prop) then
    prop.SetValue(p, "Samuel")

let method = t.GetMethod "ToString"
let retVal = method.Invoke(p, null)

if not (isNull retVal) then
    printfn $"{retVal}"

// The example displays the following output:
//        Samuel
Imports System.Reflection
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Object = handle.Unwrap()
      Dim t As Type = p.GetType()
      Dim prop As PropertyInfo = t.GetProperty("Name")
      if Not prop Is Nothing Then
         prop.SetValue(p, "Samuel")
      End If   
      Dim method As MethodInfo = t.GetMethod("ToString")
      Dim retVal As Object = method.Invoke(p, Nothing) 
      If Not retVal Is Nothing Then
         Console.WriteLine(retVal)
      End If
   End Sub
End Module
' The example displays the following output:
'       Samuel

Opmerkingen

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

assemblyName kan een van de volgende opties zijn:

  • De eenvoudige naam van een assembly, zonder het pad of de bestandsextensie. U kunt bijvoorbeeld opgeven TypeExtensions voor een assembly waarvan het pad en de naam .\bin\TypeExtensions.dllzijn.

  • De volledige naam van een ondertekende assembly, die bestaat uit de eenvoudige naam, versie, cultuur en openbare-sleuteltoken; Bijvoorbeeld 'TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51'.

Zie Hoe assembly's worden geïdentificeerd en geladen in de algemene taalruntime voor meer informatie over hoe assembly's worden geïdentificeerd en geladen. Zie De locatie van een assembly opgeven voor informatie over het gebruik van het toepassingsconfiguratiebestand voor het definiëren van assemblylocaties. Als assemblyName deze wordt gevonden, wordt deze geladen in de standaardcontext.

In .NET Core 3.0 en hoger worden assemblybelastingen die door deze API worden geactiveerd, beïnvloed door de huidige waarde van AssemblyLoadContext.CurrentContextualReflectionContext.

Note

Deze methode kan worden gebruikt om niet-openbare typen te maken als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly die de niet-openbare typen bevat, beperkt is tot de toekenningsset van de aanroeper of tot 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

CreateInstance(ActivationContext, String[])

Hiermee maakt u een exemplaar van het type dat wordt aangewezen door het opgegeven ActivationContext object en wordt geactiveerd met de opgegeven aangepaste activeringsgegevens.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext, cli::array <System::String ^> ^ activationCustomData);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(ActivationContext activationContext, string[] activationCustomData);
static member CreateInstance : ActivationContext * string[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (activationContext As ActivationContext, activationCustomData As String()) As ObjectHandle

Parameters

activationContext
ActivationContext

Een activeringscontextobject waarmee het object wordt opgegeven dat moet worden gemaakt.

activationCustomData
String[]

Een matrix met Unicode-tekenreeksen die aangepaste activeringsgegevens bevatten.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Opmerkingen

Gebruik de ObjectHandle.Unwrap methode om de retourwaarde uit te pakken.

De activeringscontext wordt gebruikt tijdens activering op basis van manifesten om het domeinbeleid in te stellen en een op toepassingen gebaseerd beveiligingsmodel te bieden. De ActivationContext klasse bevat een ApplicationIdentity object dat toegang biedt tot het toepassingsmanifest. Zie de ApplicationSecurityManager klas voor meer informatie.

Zie ook

Van toepassing op

CreateInstance(Type)

Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs
Bron:
Activator.cs

Hiermee maakt u een exemplaar van het opgegeven type met behulp van de parameterloze constructor van dat type.

public:
 static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance(Type type);
public static object? CreateInstance(Type type);
static member CreateInstance : Type -> obj
Public Shared Function CreateInstance (type As Type) As Object

Parameters

type
Type

Het type object dat moet worden gemaakt.

Retouren

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Uitzonderingen

type is null.

type is geen RuntimeType.

– of –

type is een open algemeen type (dat wil gezegd, de ContainsGenericParameters eigenschap retourneert true).

type TypeBuilderkan geen .

– of –

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

– of –

De assembly die een dynamische assembly bevat type die is gemaakt met Save.

De constructor die wordt aangeroepen, genereert een uitzondering.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

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

Kan geen exemplaar van een abstracte klasse maken of dit lid is aangeroepen met een mechanisme voor late binding.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Er is geen overeenkomende openbare constructor gevonden.

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

type is een COM-object, maar de klasse-id die wordt gebruikt om het type te verkrijgen, is ongeldig of de geïdentificeerde klasse is niet geregistreerd.

type is geen geldig type.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de CreateInstance(Type) methode aanroept. Exemplaren van verschillende typen worden gemaakt en de standaardwaarden worden weergegeven.

using System;

class DynamicInstanceList
{
    private static string instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

    public static void Main()
    {
        string[] instances = instanceSpec.Split(';');
        Array instlist = Array.CreateInstance(typeof(object), instances.Length);
        object item;
        for (int i = 0; i < instances.Length; i++)
        {
            // create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator.CreateInstance(Type.GetType(instances[i]));
            instlist.SetValue(item, i);
        }
        Console.WriteLine("\nObjects and their default values:\n");
        foreach (object o in instlist)
        {
            Console.WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o.GetType().FullName, o.ToString(), o.GetHashCode());
        }
    }
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
open System

let instanceSpec =
    "System.EventArgs;System.Random;System.Exception;System.Object;System.Version"

let instances = instanceSpec.Split ';'
let instlist = Array.zeroCreate instances.Length
let mutable item = obj ()

for i = 0 to instances.Length - 1 do
    // create the object from the specification string
    printfn $"Creating instance of: {instances.[i]}"
    item <- Activator.CreateInstance(Type.GetType instances.[i])
    instlist.[i] <- item

printfn "\nObjects and their default values:\n"

for o in instlist do
    printfn $"Type:     {o.GetType().FullName}\nValue:    {o}\nHashCode: {o.GetHashCode()}\n"


// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
Class DynamicInstanceList
    Private Shared instanceSpec As String = "System.EventArgs;System.Random;" + _
        "System.Exception;System.Object;System.Version"

    Public Shared Sub Main()
        Dim instances() As String = instanceSpec.Split(";")
        Dim instlist As Array = Array.CreateInstance(GetType(Object), instances.Length)
        Dim item As Object

        For i As Integer = 0 To instances.Length -1
            ' create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances(i))
            item = Activator.CreateInstance(Type.GetType(instances(i)))
            instlist.SetValue(item, i)
        Next i
        Console.WriteLine(Environment.NewLine + "Objects and their default values:" + Environment.NewLine)
        For Each o As Object In instlist
            Console.WriteLine("Type:     {0}" + Environment.NewLine + "Value:    {1}" + _
                Environment.NewLine + "HashCode: {2}" + Environment.NewLine, _
                o.GetType().FullName, o.ToString(), o.GetHashCode())
        Next o
    End Sub
End Class

' This program will display output similar to the following:
'
' Creating instance of: System.EventArgs
' Creating instance of: System.Random
' Creating instance of: System.Exception
' Creating instance of: System.Object
' Creating instance of: System.Version
'
' Objects and their default values:
'
' Type:     System.EventArgs
' Value:    System.EventArgs
' HashCode: 46104728
'
' Type:     System.Random
' Value:    System.Random
' HashCode: 12289376
'
' Type:     System.Exception
' Value:    System.Exception: Exception of type 'System.Exception' was thrown.
' HashCode: 55530882
'
' Type:     System.Object
' Value:    System.Object
' HashCode: 30015890
'
' Type:     System.Version
' Value:    0.0
' HashCode: 1048575

Opmerkingen

De constructor die moet worden aangeroepen, moet toegankelijk zijn.

Note

Deze methode kan worden gebruikt voor toegang tot niet-openbare typen als de aanroeper is verleend ReflectionPermission met de ReflectionPermissionFlag.RestrictedMemberAccess vlag en als de toekenningsset van de assembly die de niet-openbare typen bevat, is beperkt tot de toekenningsset van de beller of tot 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

CreateInstance(ActivationContext)

Hiermee maakt u een exemplaar van het type dat is aangewezen door het opgegeven ActivationContext object.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(ActivationContext activationContext);
static member CreateInstance : ActivationContext -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (activationContext As ActivationContext) As ObjectHandle

Parameters

activationContext
ActivationContext

Een activeringscontextobject waarmee het object wordt opgegeven dat moet worden gemaakt.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Opmerkingen

Gebruik de ObjectHandle.Unwrap methode om de retourwaarde uit te pakken.

De activeringscontext wordt gebruikt tijdens activering op basis van manifesten om het domeinbeleid in te stellen en een op toepassingen gebaseerd beveiligingsmodel te bieden. De ActivationContext klasse bevat een ApplicationIdentity object dat toegang biedt tot het toepassingsmanifest. Zie de ApplicationSecurityManager klas voor meer informatie.

Zie ook

Van toepassing op

CreateInstance(AppDomain, String, String)

Hiermee maakt u een exemplaar van het type waarvan de naam is opgegeven in het opgegeven externe domein, met behulp van de benoemde assembly en parameterloze constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName);
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle

Parameters

domain
AppDomain

Het externe domein waarin het type met de naam typeName is gemaakt.

assemblyName
String

De naam van de assembly waar het type met de naam typeName wordt gezocht. Als assemblyName dat het is null, wordt de uitgevoerde assembly doorzocht.

typeName
String

De volledig gekwalificeerde naam van het type om een exemplaar van te maken.

Retouren

Een ingang die moet worden uitgepakt voor toegang tot het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Kenmerken

Uitzonderingen

typeName of domain is null.

Er is geen overeenkomende openbare constructor gevonden.

typeName is niet gevonden in assemblyName.

assemblyName is niet gevonden.

De aanroeper is niet gemachtigd om deze constructor aan te roepen.

Kan geen exemplaar van een abstract type maken.

– of –

Dit lid is aangeroepen met een mechanisme voor late binding.

De constructor, die is aangeroepen via weerspiegeling, heeft een uitzondering veroorzaakt.

Het COM-type is niet verkregen via GetTypeFromProgID of GetTypeFromCLSID.

Het maken vanTypedReference, ArgIteratoren VoidRuntimeArgumentHandle typen of matrices van deze typen wordt niet ondersteund.

assemblyName is geen geldige assembly.

– of –

De common Language Runtime (CLR) versie 2.0 of hoger is momenteel geladen en assemblyName is gecompileerd voor een versie van de CLR die later is dan de momenteel geladen versie. Houd er rekening mee dat de .NET Framework-versies 2.0, 3.0 en 3.5 allemaal CLR-versie 2.0 gebruiken.

Een assembly of module is tweemaal geladen met twee verschillende bewijzen.

– of –

De assemblynaam of codebasis is ongeldig.

Opmerkingen

Gebruik CreateInstance deze opdracht wanneer een host code moet uitvoeren in een toepassingsdomein met beperkte beveiligingsmachtigingen.

Gebruik ObjectHandle.Unwrap dit om de retourwaarde uit te pakken.

Van toepassing op

CreateInstance<T>()

Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs
Bron:
Activator.RuntimeType.cs

Hiermee maakt u een exemplaar van het type dat is aangewezen door de opgegeven algemene typeparameter, met behulp van de parameterloze constructor.

public:
generic <typename T>
 static T CreateInstance();
public static T CreateInstance<T>();
public static T CreateInstance<T>() where T : allows ref struct;
static member CreateInstance : unit -> 'T
Public Shared Function CreateInstance(Of T) () As T

Type parameters

T

Het type dat moet worden gemaakt.

Retouren

T

Een verwijzing naar het zojuist gemaakte object of null voor Nullable<T> exemplaren.

Uitzonderingen

Kan geen exemplaar van een abstracte klasse maken of het type waarvoor is opgegeven T , heeft geen constructor zonder parameters.

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

Opmerkingen

De CreateInstance<T>() algemene methode wordt gebruikt door compilers om de instantiëring van typen te implementeren die zijn opgegeven door typeparameters. In de volgende algemene methode gebruikt de implementatie new T() bijvoorbeeld de CreateInstance<T>() algemene methode.

public static T Factory<T>() where T : new()
{
    return new T();
}
let factory<'T when 'T : (new: unit -> 'T)> =
    new 'T()
Public Shared Function Factory(Of T As New)() As T
    Return New T()
End Function

Over het algemeen is er geen gebruik voor de CreateInstance<T>() algemene methode in toepassingscode, omdat het type op het moment van compileren bekend moet zijn. Als het type bekend is tijdens het compileren, kan de normale instantiatiesyntaxis worden gebruikt (new operator in C#, New in Visual Basic). Als het type niet bekend is tijdens het compileren, kunt u een niet-generieke overbelasting van CreateInstance.

Er zijn geen overbelastingen van de CreateInstance<T>() algemene methode die argumentlijsten aannemen, omdat de niet-algemene overbelastingen van CreateInstance al late gebonden constructorresolutie bieden.

Van toepassing op