Поделиться через


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;  

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

Класс MemberRelationshipService имеет значение abstract. Реализация конкретной версии зависит от поддерживаемых типов элементов. Например, для связывания одного события с другим может потребоваться реализация, отличная от того, что одно свойство связано с другим. Для реализации службы необходимо выполнить следующие действия.

  • Реализуйте SupportsRelationship(MemberRelationship, MemberRelationship) для возврата true для связей, которые вы поддерживаете.

  • Отслеживайте изменения в исходной связи и назначьте изменения значений целевой связи.

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

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)

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

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