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)

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

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