MemberRelationshipService Класс

Определение

Предоставляет базовый класс для соотношения элементов друг с другом.Provides the base class for relating one member to another.

public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
Наследование
MemberRelationshipService

Примеры

Позволяет MemberRelationshipService упростить извлечение значения свойства из другого расположения.The MemberRelationshipService simplifies retrieval of a property value from another location. Конструктор может получить доступ к этой службе, чтобы указать, что одному члену присваивается значение другого.A designer can access this service to dictate that one member is assigned the value of another. Генератор кода ищет такие связи при создании кода, и если связь между двумя членами обнаруживает генератор кода, она создает код для связи, а не выполняет поиск значения свойства.The code generator searches for such relationships when generating code, and if a relationship between two members is found the code generator, it emits code for the relationship rather than searching for the property value. Используя предыдущее назначение текста в качестве примера, в следующем примере кода показан код времени разработки, используемый для установления связи.Using the previous text assignment as an example, the following code example shows design time code used to establish a relationship.

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

Комментарии

Конструкторы сериализуются в код с помощью обработчика, который выполняет поиск по значениям динамических свойств объектов и создает эти значения в виде кода.Designers serialize themselves to code through an engine that searches through the live property values of objects and generates those values as code. Например, текст кнопки создается в следующем формате.So, for example, the text of a button is generated in the following format.

this.okButton.Text = "OK";  

Одно из ограничений этой схемы заключается в том, что трудно получить свойство из другого расположения.One of the limitations of this scheme is that it is difficult to retrieve a property from another location. Например, очень трудно создать код в следующем формате, поскольку единственным моментом, с которым может полагаться генератор кода, является значение свойства.For example, it is very difficult to emit code in the following format, because the only thing the code generator can rely on is the value in the property.

this.titleLabel.Text = this.Text;  

Примечания для тех, кто реализует этот метод

MemberRelationshipServiceКласс имеет значение abstract .The MemberRelationshipService class is abstract. Реализация конкретной версии зависит от поддерживаемых типов элементов.Implementing a concrete version varies depending on the types of members that are supported. Например, для соотнесения одного события с другим может потребоваться другая реализация, чем связь одного свойства с другим.For example, relating one event to another might require a different implementation than relating one property to another. Для реализации службы необходимо выполнить следующие действия.Implementing the service requires the following steps: — Реализация SupportsRelationship(MemberRelationship, MemberRelationship) для возврата true для поддерживаемых отношений.- Implement SupportsRelationship(MemberRelationship, MemberRelationship) to return true for relationships that you support.

— Отслеживание изменений в исходной связи и назначение изменений значений в целевую связь.- Track changes to the source relationship and assign value changes into the target relationship.

Конструкторы

MemberRelationshipService()

Инициализирует новый экземпляр класса MemberRelationshipService.Initializes a new instance of the MemberRelationshipService class.

Свойства

Item[MemberRelationship]

Устанавливает связь между источником и целевым объектом.Establishes a relationship between a source and target object.

Item[Object, MemberDescriptor]

Устанавливает связь между источником и целевым объектом.Establishes a relationship between a source and target object.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetRelationship(MemberRelationship)

Устанавливает связь для заданной исходной связи.Gets a relationship to the given source relationship.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
SetRelationship(MemberRelationship, MemberRelationship)

Создает связь между исходным объектом и целевой связью.Creates a relationship between the source object and target relationship.

SupportsRelationship(MemberRelationship, MemberRelationship)

Возвращает значение, определяющее, поддерживается ли заданная связь.Gets a value indicating whether the given relationship is supported.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

См. также раздел