Activator.CreateComInstanceFrom 메서드

정의

이름이 지정된 COM 개체의 인스턴스를 만듭니다.

오버로드

CreateComInstanceFrom(String, String)

명명된 어셈블리 파일 및 매개 변수가 없는 생성자를 사용하여 이름이 지정된 COM 개체의 인스턴스를 만듭니다.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

명명된 어셈블리 파일 및 매개 변수가 없는 생성자를 사용하여 이름이 지정된 COM 개체의 인스턴스를 만듭니다.

CreateComInstanceFrom(String, String)

명명된 어셈블리 파일 및 매개 변수가 없는 생성자를 사용하여 이름이 지정된 COM 개체의 인스턴스를 만듭니다.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName);
static member CreateComInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String) As ObjectHandle

매개 변수

assemblyName
String

형식 typeName이(가) 검색되는 어셈블리를 포함하는 파일의 이름입니다.

typeName
String

인스턴스를 만들 형식의 이름입니다.

반환

새로 만든 개체 또는 null 인스턴스에 액세스하려면 래핑을 해제해야 하는 Nullable<T> 핸들입니다.

예외

typeName 또는 assemblyNamenull인 경우

COM을 통해 인스턴스를 만들 수 없습니다.

또는

assemblyName에서 typename을 찾을 수 없습니다.

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

assemblyName이 없거나 로드하려는 모듈이 파일 이름 확장명을 지정하지 않습니다.

추상 클래스의 인스턴스를 만들 수 없습니다.

또는

이 멤버가 런타임에 바인딩된 메커니즘을 사용하여 호출되었습니다.

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

assemblyName가 빈 문자열("")입니다.

설명

메서드를 ObjectHandle.Unwrap 사용하여 반환 값을 래프 해제합니다.

메서드가 System.Runtime.InteropServices.ComVisibleAttribute 해당 형식의 instance 만들 수 있도록 CreateComInstanceFrom 값이 true 인 특성을 COM 형식에 명시적으로 또는 기본적으로 적용해야 합니다. 그렇지 않으면 TypeLoadException 이 throw됩니다.

호출된 메서드에서 throw할 수 있는 다른 예외에 대한 자세한 내용은 및 CreateInstance 메서드의 예외 섹션을 Assembly.LoadFrom 참조하세요.

참고

.NET Framework 2.0부터 이 메서드를 사용하여 호출자에게 플래그를 부여하고 ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess 비공용 형식을 포함하는 어셈블리의 권한 부여 집합이 호출자의 권한 부여 집합 또는 해당 하위 집합으로 제한되는 경우 비공용 형식을 만들 수 있습니다. (리플렉션에 대한 보안 고려 사항을 참조하세요.) 이 기능을 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.

적용 대상

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

명명된 어셈블리 파일 및 매개 변수가 없는 생성자를 사용하여 이름이 지정된 COM 개체의 인스턴스를 만듭니다.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member CreateComInstanceFrom : string * string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As ObjectHandle

매개 변수

assemblyName
String

형식 typeName이(가) 검색되는 어셈블리를 포함하는 파일의 이름입니다.

typeName
String

인스턴스를 만들 형식의 이름입니다.

hashValue
Byte[]

계산된 해시 코드의 값입니다.

hashAlgorithm
AssemblyHashAlgorithm

파일을 해시하고 강력한 이름을 생성하는 데 사용되는 해시 알고리즘입니다.

반환

새로 만든 개체 또는 null 인스턴스에 액세스하려면 래핑을 해제해야 하는 Nullable<T> 핸들입니다.

예외

typeName 또는 assemblyNamenull인 경우

assemblyName가 빈 문자열("")입니다.

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

또는

assemblyName이 시스템 정의 최대 길이보다 깁니다.

assemblyName이 없거나 로드하려는 모듈이 파일 이름 확장명을 지정하지 않습니다.

assemblyName을 찾았지만 로드할 수 없는 경우

assemblyName는 유효한 어셈블리가 아닙니다.

"file://"로 시작하지 않는 코드베이스가 필수 WebPermission 없이 지정된 경우

COM을 통해 인스턴스를 만들 수 없습니다.

또는

assemblyName에서 typename을 찾을 수 없습니다.

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

추상 클래스의 인스턴스를 만들 수 없는 경우

또는

이 멤버가 런타임에 바인딩된 메커니즘을 사용하여 호출되었습니다.

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

설명

메서드를 ObjectHandle.Unwrap 사용하여 반환 값을 래프 해제합니다.

메서드가 System.Runtime.InteropServices.ComVisibleAttribute 해당 형식의 instance 만들 수 있도록 CreateComInstanceFrom 값이 true 인 특성을 COM 형식에 명시적으로 또는 기본적으로 적용해야 합니다. 그렇지 않으면 TypeLoadException 이 throw됩니다.

호출된 메서드에서 throw할 수 있는 다른 예외에 대한 자세한 내용은 및 CreateInstance 메서드의 예외 섹션을 Assembly.LoadFrom 참조하세요.

참고

.NET Framework 2.0부터 이 메서드를 사용하여 호출자에게 플래그를 부여하고 ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess 비공용 형식을 포함하는 어셈블리의 권한 부여 집합이 호출자의 권한 부여 집합 또는 해당 하위 집합으로 제한되는 경우 비공용 형식을 만들 수 있습니다. (리플렉션에 대한 보안 고려 사항을 참조하세요.) 이 기능을 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.

적용 대상