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: Access Private Methods in Unit Tests