MemberRelationshipService クラス

定義

1 つのメンバーを別のメンバーに関連付けるための基本クラスを提供します。

public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
継承
MemberRelationshipService

MemberRelationshipService 、別の場所からのプロパティ値の取得を簡略化します。 デザイナーは、このサービスにアクセスして、あるメンバーに別のメンバーの値が割り当てられていることを指示できます。 コード ジェネレーターは、コードを生成するときにこのようなリレーションシップを検索し、2 つのメンバー間のリレーションシップが見つかった場合は、プロパティ値を検索するのではなく、リレーションシップのコードを出力します。 前のテキスト割り当てを例として使用する次のコード例は、リレーションシップを確立するために使用されるデザイン時コードを示しています。

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";  

このスキームの制限事項の 1 つは、別の場所からプロパティを取得することが困難であるという点です。 たとえば、次の形式でコードを出力することは非常に困難です。コード ジェネレーターが依存できるのは、 プロパティの値だけです。

this.titleLabel.Text = this.Text;  

注意 (実装者)

クラスは MemberRelationshipService です abstract。 具象バージョンの実装は、サポートされているメンバーの種類によって異なります。 たとえば、あるイベントを別のイベントに関連付ける場合、あるプロパティを別のプロパティに関連付けるのとは異なる実装が必要になる場合があります。 サービスを実装するには、次の手順が必要です。

コンストラクター

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)

適用対象

こちらもご覧ください