共用方式為


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

參數

  • parameterTypes
    型別:array<System.Type[]
    Type 物件的陣列,表示要存取之方法的參數數目、順序和型別。
    -或-
    如果要取得的方法不採用任何參數,則為 Type 型別的空白陣列 (也就是 Type[] types = new Type[0])。
  • args
    型別:array<System.Object[]
    成員所需的任何引數。
  • culture
    型別:System.Globalization.CultureInfo
    CultureInfo 物件,表示要使用的全球化地區設定,它可能是特定地區設定轉換所需要的,例如將數值的 String 轉換成 Double。
    -或-
    nullNull 參照 (即 Visual Basic 中的 Nothing),則使用目前執行緒的 CultureInfo
  • 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 命名空間