Used to access generic members of a private object.
Namespace:  Microsoft.VisualStudio.TestTools.UnitTesting
Assembly:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Syntax
'Declaration
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
Parameters
- name 
 Type: String- The name of the member to invoke. 
- bindingFlags
 Type: BindingFlags
- parameterTypes 
 Type: array<Type[]- An array of Type objects that represents the number, order, and type of the parameters for the method to access. - -or- - An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters. 
- args 
 Type: array<Object[]- Any arguments that the member requires. 
- culture 
 Type: CultureInfo- The CultureInfo object that represents the globalization locale to use, which might be necessary for locale-specific conversions, such as converting a numeric String to a Double. - -or- - nulla null reference (Nothing in Visual Basic) to use the current thread's CultureInfo. 
- typeArguments 
 Type: array<Type[]- An array of type arguments to use when invoking a generic method. 
Return Value
Type: Object
Examples
The following code is in the application that you are testing. It contains a generic method that you want to test, TestThisMethod<T>.
internal class Customer
{
    internal T TestThisMethod<T>(T value)
    {
        return (value);
    }
    public Customer()
    {
    }
}
The following code is a test method in your unit test. It shows how to pass a type argument, in the final Type[] parameter, when it invokes the method that you are testing:
[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 Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.