PrivateObject 类

允许测试代码调用被测代码的方法和属性,这些方法和属性由于不是 public 的而不可访问。

继承层次结构

System.Object
  Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject

命名空间:  Microsoft.VisualStudio.TestTools.UnitTesting
程序集:  Microsoft.VisualStudio.QualityTools.UnitTestFramework(在 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 中)

语法

声明
Public Class PrivateObject
public class PrivateObject
public ref class PrivateObject
type PrivateObject =  class end
public class PrivateObject

PrivateObject 类型公开以下成员。

构造函数

  名称 说明
公共方法 PrivateObject(Object) 初始化 PrivateObject 类的新实例,该类为指定的对象创建包装。
公共方法 PrivateObject(Object, PrivateType) 初始化 PrivateObject 类的新实例,该类为指定的对象创建包装。
公共方法 PrivateObject(Object, String) 初始化 PrivateObject 类的新实例,该类为指定的对象创建包装。
公共方法 PrivateObject(Type, array<Object[]) 初始化 PrivateObject 类的新实例,该类为指定的对象创建包装。
公共方法 PrivateObject(String, String, array<Object[]) 初始化 PrivateObject 类的新实例。这样会创建一个指定类型的对象,并将其包装到私有对象中。
公共方法 PrivateObject(Type, array<Type[], array<Object[]) 初始化 PrivateObject 类的新实例。
公共方法 PrivateObject(String, String, array<Type[], array<Object[]) 初始化 PrivateObject 类的新实例。这样会创建一个指定类型的对象,并将其包装到私有对象中。

页首

属性

  名称 说明
公共属性 RealType 获取基础对象的类型。
公共属性 Target 获取或设置被包装对象。

页首

方法

  名称 说明
公共方法 Equals 返回一个值,该值指示是否两个私有对象正在封装同一个目标对象。 (重写 Object.Equals(Object)。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetArrayElement(String, array<Int32[]) 使用每个维度的下标数组来获取数组元素。
公共方法 GetArrayElement(String, BindingFlags, array<Int32[]) 使用每个维度的下标数组来获取数组元素。
公共方法 GetField(String) 根据名称从已命名的字段中获取一个值。
公共方法 GetField(String, BindingFlags) 根据名称和查找掩码从已命名的字段中获取一个值。
公共方法 GetFieldOrProperty(String) 根据名称获取被包装字段或属性的值。
公共方法 GetFieldOrProperty(String, BindingFlags) 根据名称获取被包装字段或属性的值。
公共方法 GetHashCode 获取被包装对象的哈希代码。 (重写 Object.GetHashCode()。)
公共方法 GetProperty(String, array<Object[]) 获取由名称标识的被包装对象的属性。
公共方法 GetProperty(String, BindingFlags, array<Object[]) 获取由名称和绑定标志标识的被包装对象的属性。
公共方法 GetProperty(String, array<Type[], array<Object[]) 获取由名称标识的被包装对象的属性。
公共方法 GetProperty(String, BindingFlags, array<Type[], array<Object[]) 获取由名称标识的被包装对象的索引属性。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 Invoke(String, array<Object[]) 用于访问私有对象成员。
公共方法 Invoke(String, array<Object[], CultureInfo) 用于访问私有对象成员。
公共方法 Invoke(String, BindingFlags, array<Object[]) 用于访问私有对象成员。
公共方法 Invoke(String, array<Type[], array<Object[]) 用于访问私有对象方法。
公共方法 Invoke(String, BindingFlags, array<Object[], CultureInfo) 用于访问私有对象成员。
公共方法 Invoke(String, BindingFlags, array<Type[], array<Object[]) 用于访问私有对象成员。
公共方法 Invoke(String, array<Type[], array<Object[], CultureInfo) 用于访问私有对象成员。
公共方法 Invoke(String, array<Type[], array<Object[], array<Type[]) 用于访问私有对象的泛型成员。
公共方法 Invoke(String, BindingFlags, array<Type[], array<Object[], CultureInfo) 用于访问私有对象成员。
公共方法 Invoke(String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type[]) 用于访问私有对象的泛型成员。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 SetArrayElement(String, Object, array<Int32[]) 使用每个维度的下标数组来设置数组元素。
公共方法 SetArrayElement(String, BindingFlags, Object, array<Int32[]) 使用每个维度的下标数组来设置数组元素。
公共方法 SetField(String, Object) 设置被包装对象的字段的值,该字段由名称标识。
公共方法 SetField(String, BindingFlags, Object) 设置被包装对象的字段的值,该字段由名称标识。
公共方法 SetFieldOrProperty(String, Object) 根据名称设置被包装字段或属性的值。
公共方法 SetFieldOrProperty(String, BindingFlags, Object) 根据名称设置被包装字段或属性的值。
公共方法 SetProperty(String, Object, array<Object[]) 设置由名称标识的被包装对象的属性。
公共方法 SetProperty(String, BindingFlags, Object, array<Object[]) 设置由名称和绑定标志标识的被包装对象的属性。
公共方法 SetProperty(String, array<Type[], Object, array<Object[]) 设置由名称标识的被包装对象的索引属性。
公共方法 SetProperty(String, BindingFlags, Object, array<Type[], array<Object[]) 设置由名称标识的被包装对象的索引属性。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

备注

对这些对象的大多数调用都是由测试生成器创建的。测试生成器创建代码,将私有对象包入一个允许访问私有对象成员的包装。

有关 PrivateObject 类的实例的初始属性值列表,请参见 PrivateObject 构造函数。

此类表示系统中活动的非公共内部对象。

.NET Framework 安全性

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TestTools.UnitTesting 命名空间

其他资源

How to: Test a Private Method