다음을 통해 공유


AppDomain.CreateInstance 메서드

정의

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다.

오버로드

CreateInstance(String, String)

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다.

CreateInstance(String, String, Object[])

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다. 매개 변수는 활성화 특성의 배열을 지정합니다.

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

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다. 매개 변수는 바인더, 바인딩 플래그, 생성자 인수, 인수 해석에 사용되는 문화권별 정보 및 선택적 활성화 특성을 지정합니다.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
사용되지 않음.

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다. 매개 변수는 바인더, 바인딩 플래그, 생성자 인수, 인수 해석에 사용되는 문화권별 정보, 활성화 특성 및 형식을 만들기 위한 권한 부여를 지정합니다.

CreateInstance(String, String)

Source:
AppDomain.cs
Source:
AppDomain.cs
Source:
AppDomain.cs

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다.

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

매개 변수

assemblyName
String

어셈블리의 표시 이름입니다. FullName참조하세요.

typeName
String

FullName 속성에서 반환한 네임스페이스가 아닌 어셈블리를 포함하여 요청된 형식의 정규화된 이름입니다.

반환

typeName지정한 새 인스턴스의 래퍼인 개체입니다. 실제 개체에 액세스하려면 반환 값을 래핑 해제해야 합니다.

구현

예외

작업이 언로드된 애플리케이션 도메인에서 시도됩니다.

assemblyName 또는 typeNamenull.

assemblyName 현재 로드된 런타임에 유효한 어셈블리가 아닙니다.

어셈블리 또는 모듈이 두 개의 서로 다른 증명 정보로 두 번 로드되었습니다.

assemblyName 찾을 수 없습니다.

호출자에게 이 생성자를 호출할 수 있는 권한이 없습니다.

일치하는 공용 생성자를 찾을 수 없습니다.

assemblyName typeName 찾을 수 없습니다.

이 인스턴스는 null.

설명

이 메서드는 typeName매개 변수가 없는 생성자를 호출합니다.

assemblyName형식은 AssemblyName 참조하세요.

현재 애플리케이션 도메인이 아닌 대상 애플리케이션 도메인에서 CreateInstance 호출하려고 하면 대상 애플리케이션 도메인에서 어셈블리가 성공적으로 로드됩니다. Assembly MarshalByRefObject않으므로 이 메서드가 로드된 어셈블리에 대한 Assembly 현재 애플리케이션 도메인으로 반환하려고 하면 공용 언어 런타임에서 어셈블리를 현재 애플리케이션 도메인으로 로드하려고 시도하며 로드가 실패할 수 있습니다. 현재 애플리케이션 도메인에 로드된 어셈블리는 두 애플리케이션 도메인의 경로 설정이 다른 경우 먼저 로드된 어셈블리와 다를 수 있습니다.

추가 정보

적용 대상

CreateInstance(String, String, Object[])

Source:
AppDomain.cs
Source:
AppDomain.cs
Source:
AppDomain.cs

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다. 매개 변수는 활성화 특성의 배열을 지정합니다.

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

매개 변수

assemblyName
String

어셈블리의 표시 이름입니다. FullName참조하세요.

typeName
String

FullName 속성에서 반환한 네임스페이스가 아닌 어셈블리를 포함하여 요청된 형식의 정규화된 이름입니다.

activationAttributes
Object[]

활성화에 참여할 수 있는 하나 이상의 특성 배열입니다. 일반적으로 원격 개체를 활성화하는 데 필요한 URL을 지정하는 단일 UrlAttribute 개체가 포함된 배열입니다.

이 매개 변수는 클라이언트 활성화 개체와 관련이 있습니다. 클라이언트 활성화는 이전 버전과의 호환성을 위해 유지되지만 새 개발에는 권장되지 않는 레거시 기술입니다. 분산 애플리케이션은 Windows Communication Foundation을 대신 사용해야 합니다.

반환

typeName지정한 새 인스턴스의 래퍼인 개체입니다. 실제 개체에 액세스하려면 반환 값을 래핑 해제해야 합니다.

구현

예외

작업이 언로드된 애플리케이션 도메인에서 시도됩니다.

assemblyName 또는 typeNamenull.

assemblyName 현재 로드된 런타임에 유효한 어셈블리가 아닙니다.

어셈블리 또는 모듈이 두 개의 서로 다른 증명 정보로 두 번 로드되었습니다.

assemblyName 찾을 수 없습니다.

호출자에게 이 생성자를 호출할 수 있는 권한이 없습니다.

일치하는 공용 생성자를 찾을 수 없습니다.

호출자는 MarshalByRefObject상속되지 않는 개체에 대한 활성화 특성을 제공할 수 없습니다.

assemblyName typeName 찾을 수 없습니다.

이 인스턴스는 null.

설명

이 메서드는 typeName매개 변수가 없는 생성자를 호출합니다.

assemblyName형식은 AssemblyName 참조하세요.

현재 애플리케이션 도메인이 아닌 대상 애플리케이션 도메인에서 CreateInstance 호출하려고 하면 대상 애플리케이션 도메인에서 어셈블리가 성공적으로 로드됩니다. Assembly MarshalByRefObject않으므로 이 메서드가 로드된 어셈블리에 대한 Assembly 현재 애플리케이션 도메인으로 반환하려고 하면 공용 언어 런타임에서 어셈블리를 현재 애플리케이션 도메인으로 로드하려고 시도하며 로드가 실패할 수 있습니다. 현재 애플리케이션 도메인에 로드된 어셈블리는 두 애플리케이션 도메인의 경로 설정이 다른 경우 먼저 로드된 어셈블리와 다를 수 있습니다.

추가 정보

적용 대상

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

Source:
AppDomain.cs
Source:
AppDomain.cs
Source:
AppDomain.cs

지정된 어셈블리에 정의된 지정된 형식의 새 인스턴스를 만듭니다. 매개 변수는 바인더, 바인딩 플래그, 생성자 인수, 인수 해석에 사용되는 문화권별 정보 및 선택적 활성화 특성을 지정합니다.

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

매개 변수

assemblyName
String

어셈블리의 표시 이름입니다. FullName참조하세요.

typeName
String

FullName 속성에서 반환한 네임스페이스가 아닌 어셈블리를 포함하여 요청된 형식의 정규화된 이름입니다.

ignoreCase
Boolean

대/소문자를 구분하는 검색을 수행할지 여부를 지정하는 부울 값입니다.

bindingAttr
BindingFlags

typeName 생성자에 대한 검색에 영향을 주는 0개 이상의 비트 플래그 조합입니다. bindingAttr 0이면 공용 생성자에 대한 대/소문자 구분 검색이 수행됩니다.

binder
Binder

리플렉션을 사용하여 바인딩, 인수 형식 강제 변환, 멤버 호출 및 MemberInfo 개체 검색을 사용하도록 설정하는 개체입니다. binder null이면 기본 바인더가 사용됩니다.

args
Object[]

생성자에 전달할 인수입니다. 이 인수 배열은 호출할 생성자의 매개 변수를 숫자, 순서 및 형식으로 일치시켜야 합니다. 매개 변수가 없는 생성자가 선호되는 경우 args 빈 배열이거나 null이어야 합니다.

culture
CultureInfo

typeName 생성자에 대해 선언된 형식으로 args 강제 변환을 제어하는 문화권별 정보입니다. culture null경우 현재 스레드에 대한 CultureInfo 사용됩니다.

activationAttributes
Object[]

활성화에 참여할 수 있는 하나 이상의 특성 배열입니다. 일반적으로 원격 개체를 활성화하는 데 필요한 URL을 지정하는 단일 UrlAttribute 개체가 포함된 배열입니다.

이 매개 변수는 클라이언트 활성화 개체와 관련이 있습니다. 클라이언트 활성화는 이전 버전과의 호환성을 위해 유지되지만 새 개발에는 권장되지 않는 레거시 기술입니다. 분산 애플리케이션은 Windows Communication Foundation을 대신 사용해야 합니다.

반환

typeName지정한 새 인스턴스의 래퍼인 개체입니다. 실제 개체에 액세스하려면 반환 값을 래핑 해제해야 합니다.

예외

작업이 언로드된 애플리케이션 도메인에서 시도됩니다.

assemblyName 또는 typeNamenull.

assemblyName 현재 로드된 런타임에 유효한 어셈블리가 아닙니다.

어셈블리 또는 모듈이 두 개의 서로 다른 증명 정보로 두 번 로드되었습니다.

assemblyName 찾을 수 없습니다.

호출자에게 이 생성자를 호출할 수 있는 권한이 없습니다.

일치하는 생성자를 찾을 수 없습니다.

호출자는 MarshalByRefObject상속되지 않는 개체에 대한 활성화 특성을 제공할 수 없습니다.

assemblyName typeName 찾을 수 없습니다.

이 인스턴스는 null.

설명

assemblyName형식은 AssemblyName 참조하세요.

현재 애플리케이션 도메인이 아닌 대상 애플리케이션 도메인에서 CreateInstance 호출하려고 하면 대상 애플리케이션 도메인에서 어셈블리가 성공적으로 로드됩니다. Assembly MarshalByRefObject않으므로 이 메서드가 로드된 어셈블리에 대한 Assembly 현재 애플리케이션 도메인으로 반환하려고 하면 공용 언어 런타임에서 어셈블리를 현재 애플리케이션 도메인으로 로드하려고 시도하며 로드가 실패할 수 있습니다. 현재 애플리케이션 도메인에 로드된 어셈블리는 두 애플리케이션 도메인의 경로 설정이 다른 경우 먼저 로드된 어셈블리와 다를 수 있습니다.

추가 정보

적용 대상

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

주의

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:
 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

매개 변수

assemblyName
String

어셈블리의 표시 이름입니다. FullName참조하세요.

typeName
String

FullName 속성에서 반환한 네임스페이스가 아닌 어셈블리를 포함하여 요청된 형식의 정규화된 이름입니다.

ignoreCase
Boolean

대/소문자를 구분하는 검색을 수행할지 여부를 지정하는 부울 값입니다.

bindingAttr
BindingFlags

typeName 생성자에 대한 검색에 영향을 주는 0개 이상의 비트 플래그 조합입니다. bindingAttr 0이면 공용 생성자에 대한 대/소문자 구분 검색이 수행됩니다.

binder
Binder

리플렉션을 사용하여 바인딩, 인수 형식 강제 변환, 멤버 호출 및 MemberInfo 개체 검색을 사용하도록 설정하는 개체입니다. binder null이면 기본 바인더가 사용됩니다.

args
Object[]

생성자에 전달할 인수입니다. 이 인수 배열은 호출할 생성자의 매개 변수를 숫자, 순서 및 형식으로 일치시켜야 합니다. 매개 변수가 없는 생성자가 선호되는 경우 args 빈 배열이거나 null이어야 합니다.

culture
CultureInfo

typeName 생성자에 대해 선언된 형식으로 args 강제 변환을 제어하는 문화권별 정보입니다. culture null경우 현재 스레드에 대한 CultureInfo 사용됩니다.

activationAttributes
Object[]

활성화에 참여할 수 있는 하나 이상의 특성 배열입니다. 일반적으로 원격 개체를 활성화하는 데 필요한 URL을 지정하는 단일 UrlAttribute 개체가 포함된 배열입니다.

이 매개 변수는 클라이언트 활성화 개체와 관련이 있습니다. 클라이언트 활성화는 이전 버전과의 호환성을 위해 유지되지만 새 개발에는 권장되지 않는 레거시 기술입니다. 분산 애플리케이션은 Windows Communication Foundation을 대신 사용해야 합니다.

securityAttributes
Evidence

typeName만들기 권한을 부여하는 데 사용되는 정보입니다.

반환

typeName지정한 새 인스턴스의 래퍼인 개체입니다. 실제 개체에 액세스하려면 반환 값을 래핑 해제해야 합니다.

구현

특성

예외

작업이 언로드된 애플리케이션 도메인에서 시도됩니다.

assemblyName 또는 typeNamenull.

assemblyName 현재 로드된 런타임에 유효한 어셈블리가 아닙니다.

어셈블리 또는 모듈이 두 개의 서로 다른 증명 정보로 두 번 로드되었습니다.

assemblyName 찾을 수 없습니다.

호출자에게 이 생성자를 호출할 수 있는 권한이 없습니다.

일치하는 생성자를 찾을 수 없습니다.

호출자는 MarshalByRefObject상속되지 않는 개체에 대한 활성화 특성을 제공할 수 없습니다.

-또는-

securityAttributes null않습니다. 레거시 CAS 정책을 사용하도록 설정하지 않으면 securityAttributesnull

assemblyName typeName 찾을 수 없습니다.

이 인스턴스는 null.

설명

assemblyName형식은 AssemblyName 참조하세요.

현재 애플리케이션 도메인이 아닌 대상 애플리케이션 도메인에서 CreateInstance 호출하려고 하면 대상 애플리케이션 도메인에서 어셈블리가 성공적으로 로드됩니다. Assembly MarshalByRefObject않으므로 이 메서드가 로드된 어셈블리에 대한 Assembly 현재 애플리케이션 도메인으로 반환하려고 하면 공용 언어 런타임에서 어셈블리를 현재 애플리케이션 도메인으로 로드하려고 시도하며 로드가 실패할 수 있습니다. 현재 애플리케이션 도메인에 로드된 어셈블리는 두 애플리케이션 도메인의 경로 설정이 다른 경우 먼저 로드된 어셈블리와 다를 수 있습니다.

추가 정보

적용 대상