MemberRelationshipService 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供將一個成員關聯至其他成員的基底類別。
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- 繼承
-
MemberRelationshipService
範例
可 MemberRelationshipService 簡化從另一個位置擷取屬性值。 設計工具可以存取此服務,以指定某個成員被指派另一個成員的值。 程式代碼產生器會在產生程式代碼時搜尋這類關聯性,如果找到兩個成員之間的關聯性,則會發出關聯性的程序代碼,而不是搜尋屬性值。 使用先前的文字指派作為範例,下列程式代碼範例會顯示用來建立關聯性的設計時間程序代碼。
object titleLabel, form;
PropertyDescriptor titleLabelText = TypeDescriptor.GetProperties(titleLabel)["Text"];
PropertyDescriptor formText = TypeDescriptor.GetProperties(form)["Text"];
MemberRelationshipService ms = GetService(typeof(MemberRelationshipService);
ms[titleLabel, titleLabelText] = new MemberRelationship(form, formText);
備註
設計工具會透過引擎將本身串行化為程式代碼,以搜尋對象的即時屬性值,並將這些值產生為程序代碼。 例如,按鈕的文字會以下列格式產生。
this.okButton.Text = "OK";
此配置的其中一個限制是很難從另一個位置擷取屬性。 例如,很難以下列格式發出程式代碼,因為程式代碼產生器唯一可以依賴的專案是 屬性中的值。
this.titleLabel.Text = this.Text;
給實施者的注意事項
類別 MemberRelationshipService 為 abstract
。 實作具體版本會根據支持的成員類型而有所不同。 例如,將某個事件與另一個事件建立關聯可能需要不同的實作,而不是將某個屬性關聯到另一個屬性。 實作服務需要下列步驟:
實 SupportsRelationship(MemberRelationship, MemberRelationship) 作 以傳回
true
您支持的關聯性。追蹤來源關聯性的變更,並將值變更指派至目標關聯性。
建構函式
MemberRelationshipService() |
初始化 MemberRelationshipService 類別的新執行個體。 |
屬性
Item[MemberRelationship] |
建立來源和目標物件之間的關聯性。 |
Item[Object, MemberDescriptor] |
建立來源和目標物件之間的關聯性。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetRelationship(MemberRelationship) |
取得至指定來源關聯性的關聯性。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
SetRelationship(MemberRelationship, MemberRelationship) |
建立來源物件和目標關聯性之間的關聯性。 |
SupportsRelationship(MemberRelationship, MemberRelationship) |
取得值,指出是否支援指定的關聯性。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |