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
.