백엔드 개발 C++ 이름과 클래스 이름만 알고 .NET 어셈블리를 로드하고 인스턴스화하려면 어떻게 해야 합니까?

이름과 클래스 이름만 알고 .NET 어셈블리를 로드하고 인스턴스화하려면 어떻게 해야 합니까?

Jan 19, 2025 am 09:11 AM

How Can I Load and Instantiate a .NET Assembly Knowing Only Its Name and Class Name?

.NET 어셈블리 인스턴스를 동적으로 로드하고 생성

많은 개발 시나리오에서는 사용하려는 이름과 클래스만 알고 런타임에 .NET 어셈블리 인스턴스를 로드하고 생성해야 할 수도 있습니다. 이는 프로젝트에 참조를 명시적으로 추가하는 기존 참조와 다릅니다.

Assembly.LoadFrom 및 Activator.CreateInstance 사용

.NET 프레임워크는 이를 처리하는 도구를 제공합니다. Assembly.LoadFrom 어셈블리를 메모리에 로드하여 해당 유형에 액세스할 수 있도록 합니다. 그런 다음 Activator.CreateInstance 해당 어셈블리 내에 지정된 클래스의 인스턴스를 만듭니다.

코드 예시

어셈블리를 로드하고 클래스 인스턴스를 생성하는 방법은 다음과 같습니다.

Assembly assembly = Assembly.LoadFrom("library.dll");

Type type = assembly.GetType("Company.Project.Classname");

object instanceOfClassname = Activator.CreateInstance(type);
로그인 후 복사

알 수 없는 경로 처리

DLL의 정확한 경로를 알 수 없으면 Assembly.LoadFrom이 작동하지 않습니다. 이런 상황에서는 Activator.CreateInstance(assemblyName, typeName)을 시도해 볼 수 있습니다. 이 메서드는 어셈블리 및 유형 이름을 기반으로 유형을 찾으려고 시도합니다. 실패할 경우 어셈블리의 특정 디렉터리를 검색한 다음 Assembly.LoadFrom를 사용하여 인스턴스화할 수 있습니다.

이 접근 방식을 사용하면 애플리케이션에 런타임 유연성이 추가되어 명시적인 사전 참조 없이 어셈블리와 상호 작용할 수 있습니다.

위 내용은 이름과 클래스 이름만 알고 .NET 어셈블리를 로드하고 인스턴스화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어 함수 형식 문자 케이스 변환 단계 C 언어 함수 형식 문자 케이스 변환 단계 Mar 03, 2025 pm 05:53 PM

C 언어 함수 형식 문자 케이스 변환 단계

Gulc : C 도서관은 처음부터 구축되었습니다 Gulc : C 도서관은 처음부터 구축되었습니다 Mar 03, 2025 pm 05:46 PM

Gulc : C 도서관은 처음부터 구축되었습니다

C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까? C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까? Mar 03, 2025 pm 05:52 PM

C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까?

C 언어 기능의 정의 및 호출 규칙은 무엇이며 C 언어 기능의 정의 및 호출 규칙은 무엇이며 Mar 03, 2025 pm 05:53 PM

C 언어 기능의 정의 및 호출 규칙은 무엇이며

C 표준 템플릿 라이브러리 (STL)는 어떻게 작동합니까? C 표준 템플릿 라이브러리 (STL)는 어떻게 작동합니까? Mar 12, 2025 pm 04:50 PM

C 표준 템플릿 라이브러리 (STL)는 어떻게 작동합니까?

메모리에 저장된 C 언어 함수의 반환 값은 어디에 있습니까? 메모리에 저장된 C 언어 함수의 반환 값은 어디에 있습니까? Mar 03, 2025 pm 05:51 PM

메모리에 저장된 C 언어 함수의 반환 값은 어디에 있습니까?

뚜렷한 사용 및 문구 공유 뚜렷한 사용 및 문구 공유 Mar 03, 2025 pm 05:51 PM

뚜렷한 사용 및 문구 공유

C 언어 함수의 최대 공통 제수의 최소 공통 배수는 얼마입니까? C 언어 함수의 최대 공통 제수의 최소 공통 배수는 얼마입니까? Mar 03, 2025 pm 05:55 PM

C 언어 함수의 최대 공통 제수의 최소 공통 배수는 얼마입니까?

See all articles