共用方式為


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 類別的新執行個體。這會建立指定之型別的物件,並將它包裝在 private 物件內。
公用方法 PrivateObject(Type, array<Type[], array<Object[]) 初始化 PrivateObject 類別的新執行個體。
公用方法 PrivateObject(String, String, array<Type[], array<Object[]) 初始化 PrivateObject 類別的新執行個體。這會建立指定之型別的物件,並將它包裝在 private 物件內。

回頁首

屬性

  名稱 說明
公用屬性 RealType 取得基礎物件的型別。
公用屬性 Target 取得或設定包裝物件。

回頁首

方法

  名稱 說明
公用方法 Equals 傳回值,指出兩個 private 物件是否正封裝著相同的目標物件。 (覆寫 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[]) 用來存取 private 物件的成員。
公用方法 Invoke(String, array<Object[], CultureInfo) 用來存取 private 物件的成員。
公用方法 Invoke(String, BindingFlags, array<Object[]) 用來存取 private 物件的成員。
公用方法 Invoke(String, array<Type[], array<Object[]) 用以存取 private 物件的方法。
公用方法 Invoke(String, BindingFlags, array<Object[], CultureInfo) 用來存取 private 物件的成員。
公用方法 Invoke(String, BindingFlags, array<Type[], array<Object[]) 用來存取 private 物件的成員。
公用方法 Invoke(String, array<Type[], array<Object[], CultureInfo) 用來存取 private 物件的成員。
公用方法 Invoke(String, array<Type[], array<Object[], array<Type[]) 用來存取私用物件的泛型成員。
公用方法 Invoke(String, BindingFlags, array<Type[], array<Object[], CultureInfo) 用來存取 private 物件的成員。
公用方法 Invoke(String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type[]) 用來存取私用物件的泛型成員。
受保護的方法 MemberwiseClone 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 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)。

回頁首

備註

測試產生器會建立這些物件大部分的呼叫。測試產生器會建立程式碼以將 private 物件包裝於包裝函式中,該包裝函式允許存取 private 物件成員。

如需 PrivateObject 類別之執行個體的初始屬性值清單,請參閱 PrivateObject 建構函式。

這個類別代表系統中現存的非 public 內部物件。

.NET Framework 安全性

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。

請參閱

參考

Microsoft.VisualStudio.TestTools.UnitTesting 命名空間

其他資源

How to: Test a Private Method