다음을 통해 공유


PrivateObject.Invoke 메서드 (String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type )

전용 개체의 제네릭 멤버에 액세스하는 데 사용됩니다.

네임스페이스:  Microsoft.VisualStudio.TestTools.UnitTesting
어셈블리:  Microsoft.VisualStudio.QualityTools.UnitTestFramework(Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

구문

‘선언
Public Function Invoke ( _
    name As String, _
    bindingFlags As BindingFlags, _
    parameterTypes As Type(), _
    args As Object(), _
    culture As CultureInfo, _
    typeArguments As Type() _
) As Object
public Object Invoke(
    string name,
    BindingFlags bindingFlags,
    Type[] parameterTypes,
    Object[] args,
    CultureInfo culture,
    Type[] typeArguments
)
public:
Object^ Invoke(
    String^ name, 
    BindingFlags bindingFlags, 
    array<Type^>^ parameterTypes, 
    array<Object^>^ args, 
    CultureInfo^ culture, 
    array<Type^>^ typeArguments
)
member Invoke : 
        name:string * 
        bindingFlags:BindingFlags * 
        parameterTypes:Type[] * 
        args:Object[] * 
        culture:CultureInfo * 
        typeArguments:Type[] -> Object 
public function Invoke(
    name : String, 
    bindingFlags : BindingFlags, 
    parameterTypes : Type[], 
    args : Object[], 
    culture : CultureInfo, 
    typeArguments : Type[]
) : Object

매개 변수

  • name
    형식: System.String
    호출할 멤버의 이름입니다.
  • parameterTypes
    형식: array<System.Type[]
    액세스하려는 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 Type 개체의 배열입니다.
    또는
    매개 변수를 사용하지 않는 메서드를 가져오기 위한 Type 형식의 빈 배열입니다(즉, Type[] types = new Type[0]).
  • args
    형식: array<System.Object[]
    멤버에 필요한 인수입니다.
  • culture
    형식: System.Globalization.CultureInfo
    사용할 전역화 로캘을 나타내는 CultureInfo 개체로, 숫자 문자열을 double로 변환하는 등의 로캘별 변환에 필요할 수 있습니다.
    또는
    현재 스레드의 CultureInfo를 사용할 경우 nullNull 참조(Visual Basic의 경우 Nothing)입니다.
  • typeArguments
    형식: array<System.Type[]
    제네릭 메서드를 호출할 때 사용할 형식 인수의 배열입니다.

반환 값

형식: System.Object

예제

다음 코드는 테스트하는 응용 프로그램에 있습니다. 테스트할 제네릭 메서드인 TestThisMethod<T>를 포함합니다.

internal class Customer
{
    internal T TestThisMethod<T>(T value)
    {
        return (value);
    }

    public Customer()
    {
    }
}

다음 코드는 단위 테스트의 테스트 메서드입니다. 테스트 대상 메서드를 호출할 때 최종 Type[] 매개 변수에 형식 인수를 전달하는 방법을 보여 줍니다.

[TestMethod]
public void TestSetCustomerId()
{
    PrivateObject po = new PrivateObject(typeof(Customer));

    int id = 100;

    int actual = (int)po.Invoke("TestThisMethod", new Type[] { typeof(int) }, new Object[] { id }, new Type[] { typeof(int) });

    Assert.AreEqual(actual, id);
}

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

PrivateObject 클래스

Invoke 오버로드

Microsoft.VisualStudio.TestTools.UnitTesting 네임스페이스