StaticExtension.ProvideValue(IServiceProvider) Metodo

Definizione

Restituisce un valore dell'oggetto da impostare sulla proprietà in cui si applica questa estensione. Per StaticExtension, il valore restituito è il valore statico valutato per il membro statico richiesto.

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

Parametri

serviceProvider
IServiceProvider

Oggetto che può fornire servizi per l'estensione di markup. È previsto che il provider di servizi fornisca un servizio che implementa un sistema di risoluzione dei tipi (IXamlTypeResolver).

Valori restituiti

Valore statico da impostare sulla proprietà in cui viene applicata l'estensione.

Eccezioni

Il member valore per l'estensione è null al momento della valutazione.

Alcune parti della member stringa non sono state analizzate correttamente

oppure

serviceProvider non ha fornito un servizio per IXamlTypeResolver

oppure

member il valore non è stato risolto in un membro statico.

serviceProvider è null.

Commenti

Questo metodo supporta le funzionalità del linguaggio XAML e in genere non deve essere chiamato direttamente. L'implementazione del processore XAML usa questo metodo per gestire correttamente i valori di estensione durante la x:Static creazione dell'oggetto.

Questa implementazione si basa sui servizi basati sull'oggetto passato serviceProvider. serviceProvider non deve essere null. L'oggetto serviceProvider deve restituire un servizio per IXamlTypeResolver. Nello scenario normale di utilizzo da parte dei lettori XAML e dei writer XAML predefiniti, è disponibile un provider di servizi appropriato. Un contesto dello schema XAML non valido potrebbe avere l'effetto collaterale del mapping dei tipi di interruzione e quindi del IXamlTypeResolver servizio.

In .NET Framework 4, StaticExtension supporta una modalità alternativa in cui può restituire un membro statico basato su Member essere il nome del membro semplice e il tipo proprietario fornito come MemberType, anziché Member specificando un nome completo nel formato type.member. Il sistema di risoluzione dei tipi agisce ancora, ma in questo caso Member e MemberType sono fondamentalmente combinati: memberFullName = MemberType.FullName + "." + Member.

Si applica a