Share via


StaticExtension.ProvideValue(IServiceProvider) Metodo

Definizione

Restituisce il valore di un 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 resolver di tipi (IXamlTypeResolver).

Restituisce

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

Eccezioni

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

Alcune parti della stringa member non sono state analizzate correttamente.

-oppure-

serviceProvider non ha implementato un servizio per IXamlTypeResolver

-oppure-

Il valore di member non ha risolto 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. È previsto che l'oggetto serviceProvider restituisca un servizio per IXamlTypeResolver. Nello scenario normale di utilizzo da parte dei lettori XAML predefiniti e dei writer XAML, è 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 in base al Member nome del membro semplice e al tipo proprietario fornito come MemberType, anziché Member fornire un nome completo nelmembro del tipo di. modulo. 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