次の方法で共有


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
    型 : String

    呼び出されるメンバーの名前。

  • bindingFlags
    型 : BindingFlags
  • parameterTypes
    型 : array<Type[]

    アクセスするメソッドのパラメーターの数、順序、および型を表す Type オブジェクトの配列です。

    または

    パラメーターをとらないメソッドを取得するための、Type 型の空の配列 (Type[] types = new Type[0])。

  • args
    型 : array<Object[]

    メンバーに必要な引数です。

  • culture
    型 : CultureInfo

    使用するグローバリゼーション ロケールを表す CultureInfo オブジェクト。グローバリゼーション ロケールは、数値文字列の倍精度浮動小数点数への変換など、ロケール固有の変換で必要になる場合があります。

    または

    現在のスレッドの CultureInfo を使用する場合は nullnull 参照 (Visual Basic では Nothing)。

  • typeArguments
    型 : array<Type[]

    ジェネリック メソッドを呼び出すときに使用する型引数の配列です。

戻り値

型 : 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 名前空間