XmlnsPrefixAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет рекомендуемый префикс для связывания с пространством имен XAML для использования XAML, при написании элементов и атрибутов в XAML-файле (сериализации) или при взаимодействии с средой разработки с функциями редактирования XAML.
public ref class XmlnsPrefixAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class XmlnsPrefixAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type XmlnsPrefixAttribute = class
inherit Attribute
Public NotInheritable Class XmlnsPrefixAttribute
Inherits Attribute
- Наследование
- Атрибуты
Комментарии
Процессоры XAML или платформы, включающие XAML или любой процесс, выполняющий сериализацию XAML, обычно должны учитывать рекомендуемый префикс. Префикс может потребоваться в любом случае, если префиксы из определенных сопоставлений в исходном источнике XAML не сохраняются в графе объектов среды выполнения или в противном случае хранятся платформой или технологией. У платформы могут быть определенные предпочтения по сериализации собственных типов, которые игнорируют рекомендуемый префикс из собственных сборок; Это может быть сделано для последовательного повышения пространства имен XAML по умолчанию. Однако такая платформа по-прежнему должна предоставлять рекомендуемые префиксы для возможных сторонних производителей и использования инструментов своих типов XAML. См. раздел "Рекомендации по поддержке конструктора XAML или общая сериализация" ниже.
Общая рекомендация для префиксов — использовать короткие строки, так как префикс обычно применяется ко всем сериализованным элементам, поступающим из пространства имен XAML. Длина строки префикса может иметь заметное влияние на размер сериализованных выходных данных XAML.
Если запрашиваемый префикс уже используется другим ранее встречаемым или сериализованным идентификатором пространства имен XAML, поведение не указано (поведение соответствует каждой отдельной реализации процессора XAML).
В большинстве случаев применяется XmlnsPrefixAttribute только в том случае, если вы также применили хотя бы одну XmlnsDefinitionAttribute в сборке для этого же пространства имен XAML.
В предыдущих версиях .NET Framework этот класс существовал в сборке WPF для WindowsBase. В .NET Framework 4 XmlnsPrefixAttribute находится в сборке System.Xaml. Дополнительные сведения см. в разделе "Типы, перенесенные из WPF в System.Xaml".
Рекомендации по поддержке конструктора XAML или общей сериализации
Даже если связанное пространство имен XAML должно быть пространством имен XAML по умолчанию в большинстве случаев использования для платформы или библиотеки, необходимо указать непустую строку в качестве рекомендуемого префикса для пространства имен XAML. Сведения о пространстве имен XAML по умолчанию передаются в отдельные файлы XAML и потоки узлов XAML. Пространство имен XAML по умолчанию и его определение в заданном источнике XAML можно легко увековечивать для сериализации по регистру без использования XmlnsPrefixAttribute. Однако это полезно для случаев, XmlnsPrefixAttribute когда автор XAML выбрал сопоставление пространства имен XAML по умолчанию с чем-то другим. В этом сценарии текстовый редактор XAML, внедренный в среду разработки, может использовать XmlnsPrefixAttribute в качестве указания для первоначального сопоставления пространства xmlns имен XAML. Или среда разработки может добавлять сопоставления jit-in-time в резервный XAML для метафор проектирования, таких как перетаскивание объектов из панели элементов и в область визуального конструктора. Кроме того, можно предположить, что конструктор может одновременно поддерживать несколько платформ, включающих XAML, и имеет общий сериализатор XAML, основанный на службах XAML .NET Framework, а не на сериализации платформы. Указание XmlnsPrefixAttribute для этих сценариев помогает сделать использование XAML для типов более переносимыми и надежными, если XAML обменивается между инструментами разработки или проходит круговую поездку между редакторами XAML и другими потребителями, такими как компиляторы разметки или другая сериализация.
Конструкторы
| Имя | Описание |
|---|---|
| XmlnsPrefixAttribute(String, String) |
Инициализирует новый экземпляр класса XmlnsPrefixAttribute. |
Свойства
| Имя | Описание |
|---|---|
| Prefix |
Возвращает рекомендуемый префикс, связанный с этим атрибутом. |
| TypeId |
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
| XmlNamespace |
Возвращает идентификатор пространства имен XAML, связанный с этим атрибутом. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. (Унаследовано от Attribute) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
| Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к свойствам и методам, предоставляемым объектом. (Унаследовано от Attribute) |