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;  

实施者说明

MemberRelationshipServiceabstract。 具体版本的实现因支持的成员类型而异。 例如,将一个事件与另一个事件关联可能需要不同的实现,而不是将一个属性关联到另一个属性。 实现服务需要执行以下步骤:

构造函数

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)

适用于

另请参阅