XamlSchemaContext Класс

Определение

Определяет контекст с возможностью многократного использования для интерпретации или сопоставления типов XAML и типов в базовых сборках.Defines a reusable context for interpreting or mapping XAML types, and the types in the assemblies that underlie them.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Наследование
XamlSchemaContext

Комментарии

Контекст схемы XAML предоставляет уровень абстракции между схемой или словарем для XAML и определенной реализацией средства синтаксического анализа.A XAML schema context provides a layer of abstraction between a schema or vocabulary for XAML, and a specific parser implementation. Вставив концепцию контекста схемы, схему можно использовать с различными средствами синтаксического анализа XAML, и контекст схемы заполнит сведения, необходимые для взаимодействия с конкретным синтаксическим анализатором XAML.By inserting the concept of a schema context, the schema can be used with different XAML parsers, and the schema context fills in the details that are needed to interact with a specific XAML parser. Например, контекст схемы XAML предоставляет API-интерфейсы запросов, которые относятся к концепциям XAML или к привязке CLR к системе типов XAML.For example, the XAML schema context provides query APIs that relate to XAML concepts or to the CLR binding to the XAML type system. Контекст схемы XAML также отвечает за поддержание списка сборок загруженных сборок, который определяет, где средство синтаксического анализа XAML ищет резервные типы.The XAML schema context is also responsible for maintaining the assembly list of loaded assemblies, which defines where a XAML parser looks for backing types.

Примечания для тех, кто наследует этот метод

В объект AppDomain XamlSchemaContext может совместно использоваться несколькими вызывающими объектами, которые включают в себя как полные, так и частично доверенные вызывающие объекты.In an AppDomain, a XamlSchemaContext can be shared between multiple callers, which include both full and partial trust callers. Такая ситуация возникает в таких платформах, как WPF, которые предоставляют доступ с частичным доверием к загрузке XAML для частей модели приложения WPF.This situation exists in frameworks such as WPF, which provide partial-trust access to XAML loading for portions of the WPF application model. Реализация по XamlSchemaContext умолчанию обеспечивает защиту в этом сценарии, сохраняя неизменяемые свойства и параметры.The default XamlSchemaContext implementation provides safeguards in this scenario by keeping all its properties and settings immutable. В производных реализациях следует также рассмотреть возможность использования этой модели неизменности для свойств и параметров контекста схемы XAML.Derived implementations should also consider following this model of immutability for properties and settings of a XAML schema context.

XamlSchemaContext Базовый класс разработан таким образом, что уточняющие запросы не имеют внешних наблюдаемых побочных эффектов.The XamlSchemaContext base class is designed so that lookups have no externally observable side effects. Типы, на которые ссылаются XamlSchemaContext интерфейсы API в базовом классе, такие как XamlType или XamlMember, также не создают побочных эффектов из уточняющих запросов.The types that are referenced by XamlSchemaContext APIs in the base class, such as XamlType or XamlMember, also produce no side effects from lookups. Все данные, необходимые для определения схемы, должны быть доступны в построении и параметрах AppDomain.All data that is needed to make a schema determination should be available from the construction and settings of the AppDomain. Обратите внимание, что интерфейсы API поиска не зависят от явно переданных служб. их входные данные основываются только на входных строках.Notice that no lookup APIs rely on explicitly passed-in services; their input relies on string input only.

Базовый класс, и XamlMemberивсе являются потокобезопасными в своих базовых реализациях. XamlType XamlSchemaContextThe XamlSchemaContext base class, and XamlType and XamlMember are all thread safe in their base implementations. При наследовании от XamlSchemaContext или наследования классов системы типов XAML, таких как XamlType и XamlMember , можно выбрать, будут ли классы работать как потокобезопасные.If you derive from XamlSchemaContext or derive XAML type system classes such as XamlType and XamlMember , you can choose whether your classes will behave as thread safe.

Конструкторы

XamlSchemaContext()

Инициализирует новый экземпляр класса XamlSchemaContext.Initializes a new instance of the XamlSchemaContext class.

XamlSchemaContext(IEnumerable<Assembly>)

Инициализирует новый экземпляр класса XamlSchemaContext на основе набора базовых сборок.Initializes a new instance of the XamlSchemaContext class, based on a set of reference assemblies.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Инициализирует новый экземпляр класса XamlSchemaContext на основе набора базовых сборок и объекта параметров.Initializes a new instance of the XamlSchemaContext class, based on a set of reference assemblies and a settings object.

XamlSchemaContext(XamlSchemaContextSettings)

Инициализирует новый экземпляр класса XamlSchemaContext на основе объекта параметров.Initializes a new instance of the XamlSchemaContext class, based on a settings object.

Свойства

FullyQualifyAssemblyNamesInClrNamespaces

Получает значение, указывающее, использует ли схема XAML и ее контекст полные имена сборок в значениях, возвращаемых API поиска.Gets a value that specifies whether a XAML schema and its context use fully qualified assembly names in the values that are returned by the lookup API.

ReferenceAssemblies

Возвращает перечисляемый набор базовых сборок для контекста схемы XAML.Gets an enumerable set of reference assemblies for the XAML schema context.

SupportMarkupExtensionsWithDuplicateArity

Получает значение, указывающее, поддерживают ли схема XAML и ее контекст расширения разметки, имеющие два конструктора с одинаковой арностью (количеством входных параметров).Gets a value that specifies whether a XAML schema and its context support markup extensions that have two constructors with the same arity (number of input parameters).

Методы

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Предоставляет нестандартную реализацию метода Finalize, которая не вызывает метод Dispose.Provides a nonstandard Finalize implementation that does not invoke Dispose.

GetAllXamlNamespaces()

Производит поиск в сборках, содержащихся в этом объекте XamlSchemaContext, и возвращает набор пространств имен.Searches the assemblies that are held by this XamlSchemaContext and returns a set of namespaces.

GetAllXamlTypes(String)

Производит поиск в сборках, содержащихся в этом объекте XamlSchemaContext, и возвращает набор типов из указанного пространства имен XAML.Searches the assemblies that are held by this XamlSchemaContext and returns a set of types from the specified XAML namespace.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Получает строку, которая предоставляется как предпочтительный префикс для использования потребителями при сопоставлении указанного пространства имен XAML.Gets a string that is reported as the preferred prefix for consumers to use when they map the specified XAML namespace.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Возвращает преобразователь значений, который может производить преобразование в запрошенный тип targetType.Returns a value converter that can convert to the requested targetType.

GetXamlDirective(String, String)

Возвращает значение XamlDirective, представляющее директиву для языка XAML или для конкретной реализации.Returns a XamlDirective value that represents a directive, either for the XAML language or for a particular implementation.

GetXamlType(String, String, XamlType[])

Возвращает тип XamlType на основе пространства имен XAML и строки имени типа.Returns a XamlType that is based on a XAML namespace and a string for the type name. Данная сигнатура может указывать аргументы типа в случаях, когда целевой тип является универсальным.This signature can specify the type arguments for cases where the desired type is a generic type.

GetXamlType(Type)

Возвращает тип XamlType, основанный на идентификаторе типа среды CLR.Returns a XamlType that is based on a CLR type identifier.

GetXamlType(XamlTypeName)

Возвращает объект XamlType, основанный на имени системного типа XAML.Returns a XamlType that is based on a XAML system type name.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Вызывается, когда операции используют этот контекст схемы для разрешения сборки, необходимой для разрешения содержащихся в ней пространств имен XAML.Called when operations use this schema context to resolve an assembly that is required in order to resolve the XAML namespaces that it contains.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
TryGetCompatibleXamlNamespace(String, String)

Возвращает данные об успехе или неудаче запроса для совместимого пространства имен XAML.Returns the success or failure of a request for a compatible XAML namespace. Успешный запрос сообщает пространство имен XAML в виде параметра вывода.A successful request reports that XAML namespace as an out parameter.

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