PrivateObject.Invoke Method (String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type[])
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, _
invokeAttr As BindingFlags, _
parameterTypes As Type(), _
args As Object(), _
culture As CultureInfo, _
typeArguments As Type() _
) As Object
'Usage
Dim instance As PrivateObject
Dim name As String
Dim invokeAttr As BindingFlags
Dim parameterTypes As Type()
Dim args As Object()
Dim culture As CultureInfo
Dim typeArguments As Type()
Dim returnValue As Object
returnValue = instance.Invoke(name, invokeAttr, _
parameterTypes, args, culture, typeArguments)
public Object Invoke(
string name,
BindingFlags invokeAttr,
Type[] parameterTypes,
Object[] args,
CultureInfo culture,
Type[] typeArguments
)
public:
Object^ Invoke(
String^ name,
BindingFlags invokeAttr,
array<Type^>^ parameterTypes,
array<Object^>^ args,
CultureInfo^ culture,
array<Type^>^ typeArguments
)
public function Invoke(
name : String,
invokeAttr : BindingFlags,
parameterTypes : Type[],
args : Object[],
culture : CultureInfo,
typeArguments : Type[]
) : Object
Parameters
name
Type: System.StringThe name of the member to invoke.
invokeAttr
Type: System.Reflection.BindingFlagsA bitmask comprised of one or more BindingFlags that specifies how the search for the field or property is conducted. The type of lookup need not be specified.
parameterTypes
Type: array<System.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<System.Object[]Any arguments that the member requires.
culture
Type: System.Globalization.CultureInfoThe 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<System.Type[]An array of type arguments to use when invoking a generic method.
Return Value
Type: System.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.