StaticExtension.ProvideValue(IServiceProvider) Метод

Определение

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

public:
 override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override object ProvideValue (IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides Function ProvideValue (serviceProvider As IServiceProvider) As Object

Параметры

serviceProvider
IServiceProvider

Объект, способный предоставлять службы для расширения разметки. Поставщик услуг должен предоставлять службу, которая реализует сопоставитель типов (IXamlTypeResolver).

Возвращаемое значение

Статическое значение для присвоения свойству, где применяется расширение.

Исключения

Значение member для расширения равно null на момент оценки.

Некоторая часть строки member не была правильно проанализирована.

-или-

Поставщик serviceProvider не предоставил службы для IXamlTypeResolver

-или-

Значение member не удалось разрешить в статический член.

serviceProvider имеет значение null.

Комментарии

Этот метод поддерживает функции языка XAML и обычно не предназначен для прямого вызова. Реализация обработчика XAML использует этот метод для правильной обработки значений x:Static расширения во время создания объекта.

Эта реализация зависит от служб, основанных на переданном serviceProvider. serviceProvider не должен иметь значение null. Ожидается serviceProvider , что объект вернет службу для IXamlTypeResolver. В обычном сценарии использования средствами чтения XAML и модулями записи XAML по умолчанию доступен подходящий поставщик услуг. Недопустимый контекст схемы XAML может иметь побочный эффект— нарушение сопоставления типов и, следовательно, IXamlTypeResolver службы.

В платформа .NET Framework 4 поддерживает альтернативный режим, StaticExtension в котором он может возвращать статический элемент на Member основе простого имени элемента и его типа-хладателя, предоставленного в виде MemberType, а не Member предоставления полного имени вэлементетипа. формы. Сопоставитель типов по-прежнему Member работает, но в этом случае и MemberType в основном объединяются: memberFullName = MemberType.FullName + "." + Member.

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