XamlMember Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет системный идентификатор типа языка XAML для членов типов XAML. Этот идентификатор используется средствами чтения и записи XAML во время обработки узлов членов (когда средство чтения XAML находится в поле StartMember). Кроме того, он используется для общей логики системы типов XAML.
public ref class XamlMember : IEquatable<System::Xaml::XamlMember ^>
public class XamlMember : IEquatable<System.Xaml.XamlMember>
type XamlMember = class
interface IEquatable<XamlMember>
Public Class XamlMember
Implements IEquatable(Of XamlMember)
- Наследование
-
XamlMember
- Производный
- Реализации
Комментарии
XamlMember может использовать три методологии для возврата сведений о члене XAML: стандартное отражение среды CLR; метод отражения только для ссылок, вызывающий внутренние API, использующие оптимизированные битовые флаги; или вызов виртуальных переопределения Lookup*
API, предоставляемых возможными XamlMember подклассами. Для большинства платформа .NET Framework API служб XAML и XamlMember API используется контекст схемы XAML по умолчанию. Контекст схемы XAML по умолчанию для служб XAML платформа .NET Framework использует резервное копирование среды CLR для системы типов. Это позволяет модулям чтения XAML и модулям записи XAML работать с любым типом или элементом, определенным или иным способом доступным для среды CLR и его методов отражения.
Api Lookup* и производные классы XamlMember
XamlMember определяет несколько виртуальных членов, которые могут переопределять производные классы. Эти члены имеют имена, которые всегда начинаются со строки Lookup
. Оставшаяся часть имени API ссылается на свойство, которое влияет виртуальный метод. Например, производный XamlMember класс может переопределить LookupTargetType , чтобы повлиять на то, что базовое свойство TargetType возвращает в производном классе. Можно спрогнозировать возвращаемые значения для таких свойств в XamlMember или существующих производных классах, прочитав документацию по соответствующим Lookup*
методам.
Цель Lookup*
методов — предоставить метод расширения системы типов XAML, который включает базовый XamlMember класс. Наследуя и XamlMember переопределяя Lookup
виртуальные члены, можно определить концепцию элемента XAML для схемы XAML в системе типов XAML без привязки к специфике резервной системы типов или технологии. Вы также можете использовать предоставленный контекст схемы XAML в этой схеме и по-прежнему возвращать нужные результаты.
В качестве примера рассмотрим XamlMember свойство IsWritePublic. Это свойство сообщает вызывающим объектам, что такие операции, как использование XamlWriter сериализации, могут записывать значение для этого элемента в целевом объекте. В реализации по умолчанию определение возможности записи элемента осуществляется с помощью методов отражения для резервной среды CLR Type и ее членов (the MemberInfo). Поэтому по умолчанию система типов XAML зависит от системы типов CLR. Однако эту зависимость для системы IsWritePublic типов XAML можно удалить, переопределив API LookupIsWritePublic. В переопределении можно использовать другие определения, такие как метаданные, относящиеся к вашей технологии, основная таблица подстановки, оптимизированная для фиксированного словаря XAML, или различные другие стратегии для определения возможности записи элемента XAML в словаре XAML.
Создание XamlMember без контекста схемы XAML
Большинство конструкторов XamlMember требуются XamlSchemaContext как часть их инициализации. Это XamlSchemaContext также необходимо для многих внутренних XamlSchemaContext операций, таких как получение информации, пересылаемой из резервного типа. При работе с XamlMember API обычно имеется доступ XamlSchemaContext из окружающего конструкции, например.XamlWriter В этом случае можно передать ссылку XamlSchemaContext на все системные вызовы типов XAML, требующие контекста схемы XAML.
Один конкретный конструктор, XamlMember(String, XamlType, Boolean)не требует .XamlSchemaContext Однако, созданное XamlMember сигнатурой XamlMember(String, XamlType, Boolean) , возвращается true
для IsUnknown.
Для пути загрузки, включающего в себя XamlObjectWriter, такой член не может быть записан в граф объекта. Используя реализацию служб XAML платформа .NET Framework, XamlObjectWriter.WriteStartMember вызов вызывает XamlObjectWriterException исключение, когда соответствующие XamlMember отчеты true
для IsUnknown.
Не следует создавать значение XamlMember , которое true
имеет значение, IsUnknown если реализация не может обрабатывать исключения из XamlObjectWriterили есть другие способы настройки XamlObjectWriter поведения. Например, одно или несколько из следующих вариантов могут иметь значение true для вашей реализации:
- Контекст схемы XAML доступен позже.
- Используется шаблон вызывающего элемента.
- Вы намеренно переопределяете в пользовательском средстве XamlObjectWriter.WriteStartMember записи XAML.
Конструкторы
XamlMember(EventInfo, XamlSchemaContext) |
Инициализирует новый экземпляр класса XamlMember объектами EventInfo и XamlSchemaContext системы типов среды CLR. |
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker) |
Инициализирует новый экземпляр класса XamlMember объектами EventInfo и XamlSchemaContext системы типов среды CLR, включая сведения объекта XamlMemberInvoker. |
XamlMember(PropertyInfo, XamlSchemaContext) |
Инициализирует новый экземпляр класса XamlMember объектами PropertyInfo и XamlSchemaContext системы типов среды CLR. |
XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker) |
Инициализирует новый экземпляр класса XamlMember объектами PropertyInfo и XamlSchemaContext отражения, включая сведения объекта XamlMemberInvoker. |
XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext) |
Инициализирует новый экземпляр класса XamlMember для объекта XamlMember, представляющего присоединяемое свойство. |
XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Инициализирует новый экземпляр класса XamlMember для объекта XamlMember, представляющего присоединяемое свойство, включая сведения объекта XamlMemberInvoker. |
XamlMember(String, MethodInfo, XamlSchemaContext) |
Инициализирует новый экземпляр класса XamlMember для объекта XamlMember, представляющего присоединяемое событие. |
XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Инициализирует новый экземпляр класса XamlMember для объекта XamlMember, представляющего присоединяемое событие, включая сведения объекта XamlMemberInvoker. |
XamlMember(String, XamlType, Boolean) |
Инициализирует новый экземпляр класса XamlMember, используя строковое имя и сведения об объявляющем типе XamlType. Объект XamlMember, созданный с данной сигнатурой, имеет значительные ограничения. |
Свойства
DeclaringType |
Получает объект XamlType для типа, который объявляет член, связанный с этим объектом XamlMember. |
DeferringLoader |
Получает объект XamlValueConverter<TConverterBase>, используемый для отложенной загрузки объектов, объявленных в языке XAML. |
DependsOn |
Получает список объектов XamlMember. Эти объекты сообщают о членах, в которых существуют отношения зависимости для порядка инициализации относительно данного объекта XamlMember. |
Invoker |
Получает реализацию объекта XamlMemberInvoker, связанную с данным типом XamlMember. |
IsAmbient |
Получает значение, указывающее, представляет ли этот объект XamlMember внешнее свойство. |
IsAttachable |
Получает значение, указывающее, является ли этот объект XamlMember присоединяемым членом. |
IsDirective |
Получает значение, указывающее, является ли этот объект XamlMember директивой XAML. |
IsEvent |
Получает значение, указывающее, действительно ли этот объект XamlMember представляет член события. |
IsNameValid |
Получает значение, указывающее, инициализирован ли этот объект XamlMember допустимой строкой |
IsReadOnly |
Получает значение, указывающее, действительно ли этот объект XamlMember представляет член, доступный только для чтения. |
IsReadPublic |
Получает значение, указывающее, представляет ли объект XamlMember член с доступным для вызова открытым методом доступа |
IsUnknown |
Получает значение, указывающее, является ли этот член неразрешимым в базовой системе, используемой для разрешения типов и членов. |
IsWriteOnly |
Получает значение, указывающее, действительно ли этот объект XamlMember представляет член, доступный только для записи. |
IsWritePublic |
Получает значение, указывающее, представляет ли объект XamlMember член с доступным для вызова открытым методом доступа |
MarkupExtensionBracketCharacters |
Определяет символы открывающей и закрывающей скобок для расширения разметки. |
Name |
Получает строковое представление имени |
PreferredXamlNamespace |
Получает URI одного пространства имен XAML, определяющий первичное пространство имен XAML для этого объекта XamlMember. |
SerializationVisibility |
Получает значение DesignerSerializationVisibility, указывающее, как визуальный конструктор должен обрабатывать этот член. |
TargetType |
Получает объект XamlType того типа, в котором может существовать объект XamlMember. |
Type |
Получает объект XamlType того типа, который используется данным членом. |
TypeConverter |
Получает объект XamlValueConverter<TConverterBase>, который может использоваться для создания конструкции преобразователя типов для объектов, объявленных в языке XAML. |
UnderlyingMember |
Получает объект MemberInfo системы типов среды CLR, доступный для члена, который создан объектом PropertyInfo, MethodInfo или EventInfo. |
ValueSerializer |
Получает объект XamlValueConverter<TConverterBase>, используемый для сериализации значений объектов, объявленных в языке XAML. |
Методы
Equals(Object) |
Позволяет определить, равен ли текущий объект другому объекту. |
Equals(XamlMember) |
Указывает, равен ли текущий объект другому объекту того же типа. |
GetHashCode() |
Возвращает хэш-код для этого объекта. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetXamlNamespaces() |
Возвращает список пространств имен XAML, в которых может существовать этот член XAML. |
LookupCustomAttributeProvider() |
При реализации в производном классе возвращает реализацию класса ICustomAttributeProvider. |
LookupDeferringLoader() |
Возвращает объект XamlValueConverter<TConverterBase>, используемый для отложенной загрузки объектов, объявленных в XAML. |
LookupDependsOn() |
Возвращает список объектов XamlMember. Элементы списка сообщают о членах, в которых существуют отношения зависимости для порядка инициализации относительно данного объекта XamlMember. |
LookupInvoker() |
Возвращает объект XamlMemberInvoker, связанный с данным типом XamlMember. |
LookupIsAmbient() |
Возвращает значение, указывающее, рассматривается ли данный объект XamlMember как внешнее свойство. |
LookupIsEvent() |
Возвращает значение, указывающее, представляет ли данный объект XamlMember событие. |
LookupIsReadOnly() |
Возвращает значение, указывающее, представляет ли объект XamlMember требуемое свойство только для чтения. |
LookupIsReadPublic() |
Возвращает значение, указывающее, представляет ли объект XamlMember свойство, имеющее открытый метод доступа |
LookupIsUnknown() |
Возвращает значение, указывающее, представляет ли данный объект XamlMember член, который не может быть разрешен в базовой системе, используемой для разрешения типов и членов. |
LookupIsWriteOnly() |
Возвращает значение, указывающее, действительно ли этот объект XamlMember представляет член, имеющий открытый метод доступа |
LookupIsWritePublic() |
Возвращает значение, указывающее, действительно ли этот объект XamlMember представляет член, имеющий открытый метод доступа |
LookupMarkupExtensionBracketCharacters() |
Возвращает символы открывающей и закрывающей скобок для расширения разметки. |
LookupTargetType() |
Возвращает объект XamlType того типа, в котором может существовать объект XamlMember. |
LookupType() |
Возвращает объект XamlType того типа, который используется данным членом. |
LookupTypeConverter() |
Возвращает реализацию преобразователя типов, связанного с данным объектом XamlMember. |
LookupUnderlyingGetter() |
Возвращает метод доступа |
LookupUnderlyingMember() |
Возвращает объект MemberInfo системы типов среды CLR, связанный с данным объектом XamlMember. |
LookupUnderlyingSetter() |
Возвращает метод доступа |
LookupValueSerializer() |
Возвращает реализацию сериализатора значений, связанную с данным объектом XamlMember. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление данного объекта XamlMember. |
Операторы
Equality(XamlMember, XamlMember) |
Определяет, совпадают ли значения двух указанных объектов XamlMember. |
Inequality(XamlMember, XamlMember) |
Определяет, различаются ли значения двух указанных объектов XamlMember. |