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。追蹤來源關係的變更,並將價值變更指派到目標關係中。
建構函式
| 名稱 | 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) |