MemberRelationshipService 類別

定義

提供將一個成員與另一個成員關聯起來的基底類別。

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。 具體版本的實作會依支援成員的類型而有所不同。 例如,將一個事件與另一個事件關聯起來,可能需要與將一個屬性關聯到另一個屬性的實作方式不同。 實作服務需完成以下步驟:

建構函式

名稱 Description
MemberRelationshipService()

初始化 MemberRelationshipService 類別的新執行個體。

屬性

名稱 Description
Item[MemberRelationship]

建立來源與目標物件之間的關係。

Item[Object, MemberDescriptor]

建立來源與目標物件之間的關係。

方法

名稱 Description
Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetRelationship(MemberRelationship)

取得與給定來源關係的關係。

GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
SetRelationship(MemberRelationship, MemberRelationship)

建立來源物件與目標關係之間的關係。

SupportsRelationship(MemberRelationship, MemberRelationship)

獲得一個值,表示該關係是否被支持。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於

另請參閱