Partilhar via


AppDomain.CreateInstance Método

Definição

Cria uma nova instância de um tipo especificado definido em um assembly especificado.

Sobrecargas

CreateInstance(String, String)

Cria uma nova instância do tipo especificado definido no assembly especificado.

CreateInstance(String, String, Object[])

Cria uma nova instância do tipo especificado definido no assembly especificado. Um parâmetro especifica uma matriz de atributos de ativação.

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

Cria uma nova instância do tipo especificado definido no assembly especificado. Os parâmetros especificam um associador, sinalizadores de associação, argumentos de construtor, informações específicas da cultura usadas para interpretar argumentos e atributos de ativação opcionais.

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

Cria uma nova instância do tipo especificado definido no assembly especificado. Os parâmetros especificam um associador, sinalizadores de associação, argumentos de construtor, informações específicas da cultura usadas para interpretar argumentos, atributos de ativação e autorização para criar o tipo.

CreateInstance(String, String)

Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs

Cria uma nova instância do tipo especificado definido no assembly especificado.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parâmetros

assemblyName
String

O nome de exibição do assembly. Consulte FullName.

typeName
String

O nome totalmente qualificado do tipo solicitado, incluindo o namespace, mas não o assembly, conforme retornado pela propriedade FullName.

Retornos

Um objeto que é um wrapper para a nova instância especificada por typeName. O valor retornado precisa ser desembrulhado para acessar o objeto real.

Implementações

Exceções

A operação é tentada em um domínio de aplicativo descarregado.

assemblyName ou typeName é null.

assemblyName não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblyName não foi encontrado.

O chamador não tem permissão para chamar esse construtor.

Nenhum construtor público correspondente foi encontrado.

typeName não foi encontrado em assemblyName.

Esta instância é null.

Comentários

Esse método chama o construtor sem parâmetros para typeName.

Consulte AssemblyName para o formato de assemblyName.

Uma tentativa de chamar CreateInstance em um domínio de aplicativo de destino que não seja o domínio do aplicativo atual resultará em uma carga bem-sucedida do assembly no domínio do aplicativo de destino. Como um Assembly não é MarshalByRefObject, quando esse método tenta retornar o Assembly do assembly carregado para o domínio do aplicativo atual, o common language runtime tentará carregar o assembly no domínio do aplicativo atual e a carga poderá falhar. O assembly carregado no domínio do aplicativo atual pode ser diferente do assembly que foi carregado primeiro se as configurações de caminho para os dois domínios de aplicativo forem diferentes.

Confira também

Aplica-se a

CreateInstance(String, String, Object[])

Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs

Cria uma nova instância do tipo especificado definido no assembly especificado. Um parâmetro especifica uma matriz de atributos de ativação.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Parâmetros

assemblyName
String

O nome de exibição do assembly. Consulte FullName.

typeName
String

O nome totalmente qualificado do tipo solicitado, incluindo o namespace, mas não o assembly, conforme retornado pela propriedade FullName.

activationAttributes
Object[]

Uma matriz de um ou mais atributos que podem participar da ativação. Normalmente, uma matriz que contém um único objeto UrlAttribute que especifica a URL necessária para ativar um objeto remoto.

Esse parâmetro está relacionado a objetos ativados pelo cliente. A ativação do cliente é uma tecnologia herdada que é retida para compatibilidade com versões anteriores, mas não é recomendada para o novo desenvolvimento. Em vez disso, os aplicativos distribuídos devem usar o Windows Communication Foundation.

Retornos

Um objeto que é um wrapper para a nova instância especificada por typeName. O valor retornado precisa ser desembrulhado para acessar o objeto real.

Implementações

Exceções

A operação é tentada em um domínio de aplicativo descarregado.

assemblyName ou typeName é null.

assemblyName não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblyName não foi encontrado.

O chamador não tem permissão para chamar esse construtor.

Nenhum construtor público correspondente foi encontrado.

O chamador não pode fornecer atributos de ativação para um objeto que não herda de MarshalByRefObject.

typeName não foi encontrado em assemblyName.

Esta instância é null.

Comentários

Esse método chama o construtor sem parâmetros para typeName.

Consulte AssemblyName para o formato de assemblyName.

Uma tentativa de chamar CreateInstance em um domínio de aplicativo de destino que não seja o domínio do aplicativo atual resultará em uma carga bem-sucedida do assembly no domínio do aplicativo de destino. Como um Assembly não é MarshalByRefObject, quando esse método tenta retornar o Assembly do assembly carregado para o domínio do aplicativo atual, o common language runtime tentará carregar o assembly no domínio do aplicativo atual e a carga poderá falhar. O assembly carregado no domínio do aplicativo atual pode ser diferente do assembly que foi carregado primeiro se as configurações de caminho para os dois domínios de aplicativo forem diferentes.

Confira também

Aplica-se a

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

Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs

Cria uma nova instância do tipo especificado definido no assembly especificado. Os parâmetros especificam um associador, sinalizadores de associação, argumentos de construtor, informações específicas da cultura usadas para interpretar argumentos e atributos de ativação opcionais.

public:
 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);
public 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 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);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public 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

Parâmetros

assemblyName
String

O nome de exibição do assembly. Consulte FullName.

typeName
String

O nome totalmente qualificado do tipo solicitado, incluindo o namespace, mas não o assembly, conforme retornado pela propriedade FullName.

ignoreCase
Boolean

Um valor booliano que especifica se uma pesquisa diferencia maiúsculas de minúsculas ou não.

bindingAttr
BindingFlags

Uma combinação de sinalizadores de zero ou mais bits que afetam a pesquisa do construtor typeName. Se bindingAttr for zero, uma pesquisa que diferencia maiúsculas de minúsculas para construtores públicos será realizada.

binder
Binder

Um objeto que permite a associação, a coerção de tipos de argumento, a invocação de membros e a recuperação de objetos MemberInfo usando reflexão. Se binder for nulo, o associador padrão será usado.

args
Object[]

Os argumentos a serem passados para o construtor. Essa matriz de argumentos deve corresponder em número, ordem e digitar os parâmetros do construtor a ser invocado. Se o construtor sem parâmetros for preferencial, args deverá ser uma matriz vazia ou nula.

culture
CultureInfo

Informações específicas da cultura que regem a coerção de args aos tipos formais declarados para o construtor typeName. Se culture for null, o CultureInfo do thread atual será usado.

activationAttributes
Object[]

Uma matriz de um ou mais atributos que podem participar da ativação. Normalmente, uma matriz que contém um único objeto UrlAttribute que especifica a URL necessária para ativar um objeto remoto.

Esse parâmetro está relacionado a objetos ativados pelo cliente. A ativação do cliente é uma tecnologia herdada que é retida para compatibilidade com versões anteriores, mas não é recomendada para o novo desenvolvimento. Em vez disso, os aplicativos distribuídos devem usar o Windows Communication Foundation.

Retornos

Um objeto que é um wrapper para a nova instância especificada por typeName. O valor retornado precisa ser desembrulhado para acessar o objeto real.

Exceções

A operação é tentada em um domínio de aplicativo descarregado.

assemblyName ou typeName é null.

assemblyName não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblyName não foi encontrado.

O chamador não tem permissão para chamar esse construtor.

Nenhum construtor correspondente foi encontrado.

O chamador não pode fornecer atributos de ativação para um objeto que não herda de MarshalByRefObject.

typeName não foi encontrado em assemblyName.

Esta instância é null.

Comentários

Consulte AssemblyName para o formato de assemblyName.

Uma tentativa de chamar CreateInstance em um domínio de aplicativo de destino que não seja o domínio do aplicativo atual resultará em uma carga bem-sucedida do assembly no domínio do aplicativo de destino. Como um Assembly não é MarshalByRefObject, quando esse método tenta retornar o Assembly do assembly carregado para o domínio do aplicativo atual, o common language runtime tentará carregar o assembly no domínio do aplicativo atual e a carga poderá falhar. O assembly carregado no domínio do aplicativo atual pode ser diferente do assembly que foi carregado primeiro se as configurações de caminho para os dois domínios de aplicativo forem diferentes.

Confira também

Aplica-se a

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

Cuidado

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.

Cria uma nova instância do tipo especificado definido no assembly especificado. Os parâmetros especificam um associador, sinalizadores de associação, argumentos de construtor, informações específicas da cultura usadas para interpretar argumentos, atributos de ativação e autorização para criar o tipo.

public:
 virtual 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 ^ securityAttributes);
public 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 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.")]
public 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 securityAttributes);
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.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.")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public 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(), securityAttributes As Evidence) As ObjectHandle

Parâmetros

assemblyName
String

O nome de exibição do assembly. Consulte FullName.

typeName
String

O nome totalmente qualificado do tipo solicitado, incluindo o namespace, mas não o assembly, conforme retornado pela propriedade FullName.

ignoreCase
Boolean

Um valor booliano que especifica se uma pesquisa diferencia maiúsculas de minúsculas ou não.

bindingAttr
BindingFlags

Uma combinação de sinalizadores de zero ou mais bits que afetam a pesquisa do construtor typeName. Se bindingAttr for zero, uma pesquisa que diferencia maiúsculas de minúsculas para construtores públicos será realizada.

binder
Binder

Um objeto que permite a associação, a coerção de tipos de argumento, a invocação de membros e a recuperação de objetos MemberInfo usando reflexão. Se binder for nulo, o associador padrão será usado.

args
Object[]

Os argumentos a serem passados para o construtor. Essa matriz de argumentos deve corresponder em número, ordem e digitar os parâmetros do construtor a ser invocado. Se o construtor sem parâmetros for preferencial, args deverá ser uma matriz vazia ou nula.

culture
CultureInfo

Informações específicas da cultura que regem a coerção de args aos tipos formais declarados para o construtor typeName. Se culture for null, o CultureInfo do thread atual será usado.

activationAttributes
Object[]

Uma matriz de um ou mais atributos que podem participar da ativação. Normalmente, uma matriz que contém um único objeto UrlAttribute que especifica a URL necessária para ativar um objeto remoto.

Esse parâmetro está relacionado a objetos ativados pelo cliente. A ativação do cliente é uma tecnologia herdada que é retida para compatibilidade com versões anteriores, mas não é recomendada para o novo desenvolvimento. Em vez disso, os aplicativos distribuídos devem usar o Windows Communication Foundation.

securityAttributes
Evidence

Informações usadas para autorizar a criação de typeName.

Retornos

Um objeto que é um wrapper para a nova instância especificada por typeName. O valor retornado precisa ser desembrulhado para acessar o objeto real.

Implementações

Atributos

Exceções

A operação é tentada em um domínio de aplicativo descarregado.

assemblyName ou typeName é null.

assemblyName não é um assembly válido para o runtime carregado no momento.

Um assembly ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblyName não foi encontrado.

O chamador não tem permissão para chamar esse construtor.

Nenhum construtor correspondente foi encontrado.

O chamador não pode fornecer atributos de ativação para um objeto que não herda de MarshalByRefObject.

-ou-

securityAttributes não é null. Quando a política cas herdada não estiver habilitada, securityAttributes deverá ser null

typeName não foi encontrado em assemblyName.

Esta instância é null.

Comentários

Consulte AssemblyName para o formato de assemblyName.

Uma tentativa de chamar CreateInstance em um domínio de aplicativo de destino que não seja o domínio do aplicativo atual resultará em uma carga bem-sucedida do assembly no domínio do aplicativo de destino. Como um Assembly não é MarshalByRefObject, quando esse método tenta retornar o Assembly do assembly carregado para o domínio do aplicativo atual, o common language runtime tentará carregar o assembly no domínio do aplicativo atual e a carga poderá falhar. O assembly carregado no domínio do aplicativo atual pode ser diferente do assembly que foi carregado primeiro se as configurações de caminho para os dois domínios de aplicativo forem diferentes.

Confira também

Aplica-se a