Język

StaticExtension.ProvideValue(IServiceProvider) Metoda

Definicja

Zwraca wartość obiektu ustawioną we właściwości, w której jest stosowane to rozszerzenie. W przypadku StaticExtensionparametru wartość zwracana jest wartością statyczną, która jest obliczana dla żądanego statycznego elementu członkowskiego.

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

Parametry

serviceProvider
IServiceProvider

Obiekt, który może świadczyć usługi dla rozszerzenia znaczników. Oczekuje się, że dostawca usług udostępni usługę, która implementuje rozpoznawanie typów (IXamlTypeResolver).

Zwraca

Wartość statyczna do ustawienia we właściwości, w której jest stosowane rozszerzenie.

Wyjątki

Wartość member rozszerzenia jest null w momencie oceny.

member Część ciągu nie została prawidłowo przeanalizowana

— lub —

serviceProvider nie świadczył usługi dla IXamlTypeResolver

— lub —

member wartość nie została rozpoznana jako statyczny element członkowski.

Parametr serviceProvider ma wartość null.

Uwagi

Ta metoda obsługuje funkcje języka XAML i zwykle nie ma być wywoływana bezpośrednio. Implementacja procesora XAML używa tej metody do poprawnego x:Static obsługi wartości rozszerzeń podczas tworzenia obiektu.

Ta implementacja opiera się na usługach opartych na przekazanym serviceProviderobiekcie . serviceProvidernie może być .null Oczekuje serviceProvider się, że obiekt zwróci usługę dla IXamlTypeResolverelementu . W normalnym scenariuszu użycia domyślnie czytników XAML i składników zapisywania XAML dostępny jest odpowiedni dostawca usług. Nieprawidłowy kontekst schematu XAML może mieć efekt uboczny mapowania typu powodującego niezgodność, a tym samym IXamlTypeResolver usługi.

W .NET Framework 4 StaticExtension obsługuje tryb alternatywny, w którym może zwrócić statyczny element członkowski na podstawie Member jest prostą nazwą elementu członkowskiego i jego typem własnym podanym jako MemberType, zamiast Member podania pełnej nazwy w formularzu type.member. Program rozpoznawania typów nadal działa, ale w tym przypadku Member element i MemberType jest w zasadzie połączony: memberFullName = MemberType.FullName + "." + Member.

Dotyczy