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
要调用的成员名。
- bindingFlags
类型:System.Reflection.BindingFlags
- parameterTypes
类型:array<System.Type[]
一个 Type 对象数组,表示要访问的方法的参数的数目、顺序和类型。
- 或 -
一个类型为 Type(即 Type[] types = new Type[0])的空数组,用于获取一个不带参数的方法。
- args
类型:array<System.Object[]
该成员所需的所有参数。
- culture
类型:System.Globalization.CultureInfo
CultureInfo 对象,表示要使用的全球化区域设置,将数值字符串转换为双精度等区域设置特定的转换可能需要该对象。
- 或 -
nullnull 引用(在 Visual Basic 中为 Nothing),表示使用当前线程的 CultureInfo。
- typeArguments
类型:array<System.Type[]
一个要在调用泛型方法时使用的类型参数数组。
返回值
示例
下面的代码在您要测试的应用程序中。 它包含您要测试的泛型方法 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。