MemberRelationshipService クラス

定義

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

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)

適用対象

こちらもご覧ください