>백엔드 개발 >C++ >C#에서 동적으로 해결 된 유형 변수로 일반 메소드를 어떻게 호출 할 수 있습니까?

C#에서 동적으로 해결 된 유형 변수로 일반 메소드를 어떻게 호출 할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-02-03 08:15:10864검색

동적 유형 유형 변수 C#Generation Method의 동적 유형 사용 How Can I Invoke Generic Methods with Dynamically Resolved Type Variables in C#?
일반 메소드를 사용할 때는 컴파일 할 때 매개 변수 유형이 종종 발생하지만 런타임 중 유형 매개 변수를 동적으로 결정합니다. Reflex는이 도전에 대처할 수있는 강력한 솔루션을 제공합니다.

유전자 적으로 생성 된 호드 호드의 용액

mytype 변수에 저장된 유형을 사용하려면 일반 메소드 genericmedhod 를 호출하려면 다음 방법을 사용할 수 있습니다.

반사 방법을 사용하여 MethodInfo :

일반 방법을 구성하기 위해 유형 매개 변수를 제공합니다

    생성자의 일반 방법을 호출하십시오 :
  1. 정적 메소드 정적 메드 솔루션 MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod)); 정적 제네릭 메소드 정적 메드를 호출하려면
  2. 를 따르십시오.
  3. 정적 일반 방법을 얻기 위해 MethodInfo :

    <code class="language-csharp">MethodInfo generic = method.MakeGenericMethod(myType);</code>
  4. 일반 메소드를 구성하는 유형 매개 변수 사용 :
  5. 생성자의 일반적인 메소드는 정적 메소드이기 때문에 널이 첫 번째 매개 변수로 전달됩니다.
    <code class="language-csharp">generic.Invoke(this, null);</code>
C# 4 및 단순화 된 에 의해 가져 오는 동적 키워드 반사는 일반적인 방법을 호출하기위한 강력한 솔루션을 제공하지만 많은 모델 코드가 포함될 수 있습니다. 그러나 C# 4부터 시작하여 동적 키워드를 사용 하여이 프로세스를 단순화 할 수 있습니다. 유형 추론을 사용할 수 있으면 Dynamic을 사용하면 필요한 코드를 크게 줄일 수 있습니다.

위 내용은 C#에서 동적으로 해결 된 유형 변수로 일반 메소드를 어떻게 호출 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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