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 допустимой строкой xamlName в качестве значения его свойства Name.

IsReadOnly

Получает значение, указывающее, действительно ли этот объект XamlMember представляет член, доступный только для чтения.

IsReadPublic

Получает значение, указывающее, представляет ли объект XamlMember член с доступным для вызова открытым методом доступа get.

IsUnknown

Получает значение, указывающее, является ли этот член неразрешимым в базовой системе, используемой для разрешения типов и членов.

IsWriteOnly

Получает значение, указывающее, действительно ли этот объект XamlMember представляет член, доступный только для записи.

IsWritePublic

Получает значение, указывающее, представляет ли объект XamlMember член с доступным для вызова открытым методом доступа set.

MarkupExtensionBracketCharacters

Определяет символы открывающей и закрывающей скобок для расширения разметки.

Name

Получает строковое представление имени xamlName, объявляющего этот объект XamlMember.

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 свойство, имеющее открытый метод доступа get.

LookupIsUnknown()

Возвращает значение, указывающее, представляет ли данный объект XamlMember член, который не может быть разрешен в базовой системе, используемой для разрешения типов и членов.

LookupIsWriteOnly()

Возвращает значение, указывающее, действительно ли этот объект XamlMember представляет член, имеющий открытый метод доступа set, но не имеющий открытого метода доступа get.

LookupIsWritePublic()

Возвращает значение, указывающее, действительно ли этот объект XamlMember представляет член, имеющий открытый метод доступа set.

LookupMarkupExtensionBracketCharacters()

Возвращает символы открывающей и закрывающей скобок для расширения разметки.

LookupTargetType()

Возвращает объект XamlType того типа, в котором может существовать объект XamlMember.

LookupType()

Возвращает объект XamlType того типа, который используется данным членом.

LookupTypeConverter()

Возвращает реализацию преобразователя типов, связанного с данным объектом XamlMember.

LookupUnderlyingGetter()

Возвращает метод доступа get, связанный с данным объектом XamlMember.

LookupUnderlyingMember()

Возвращает объект MemberInfo системы типов среды CLR, связанный с данным объектом XamlMember.

LookupUnderlyingSetter()

Возвращает метод доступа set, связанный с данным объектом XamlMember.

LookupValueSerializer()

Возвращает реализацию сериализатора значений, связанную с данным объектом XamlMember.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

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

Возвращает строковое представление данного объекта XamlMember.

Операторы

Equality(XamlMember, XamlMember)

Определяет, совпадают ли значения двух указанных объектов XamlMember.

Inequality(XamlMember, XamlMember)

Определяет, различаются ли значения двух указанных объектов XamlMember.

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

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