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