Aracılığıyla paylaş


StaticExtension.ProvideValue(IServiceProvider) Yöntem

Tanım

Bu uzantıyı uyguladığınız özellikte ayarlanacağı bir nesne değeri döndürür. için StaticExtensiondönüş değeri, istenen statik üye için değerlendirilen statik değerdir.

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

Parametreler

serviceProvider
IServiceProvider

İşaretlemeyi uzantısı için hizmet sağlayabilen bir nesne. Hizmet sağlayıcısının bir tür çözümleyicisi ( uygulayan bir hizmet sağlaması beklenirIXamlTypeResolver.

Döndürülenler

Uzantının uygulandığı özelliğinde ayarlanacağı statik değer.

Özel durumlar

member Uzantının değeri değerlendirme sırasındadırnull.

Dizenin member bir bölümü düzgün ayrıştırılamadı

-veya-

serviceProvider için bir hizmet sağlamadı IXamlTypeResolver

-veya-

member değeri statik üyeye çözümlenmedi.

serviceProvider, null değeridir.

Açıklamalar

Bu yöntem XAML dil özelliklerini destekler ve genellikle doğrudan çağrılması amaçlanmamıştır. XAML işlemcisi uygulaması, nesne oluşturma sırasında uzantı değerlerini doğru şekilde işlemek x:Static için bu yöntemi kullanır.

Bu uygulama, geçirilen serviceProvideröğesini temel alan hizmetlere dayanır. serviceProvider olmamalıdır null. nesnesinin serviceProvider için IXamlTypeResolverbir hizmet döndürmesi beklenir. Varsayılan XAML okuyucuları ve XAML yazıcıları tarafından normal kullanım senaryosunda uygun bir hizmet sağlayıcısı kullanılabilir. Geçersiz bir XAML şeması bağlamı, tür eşlemesini ve dolayısıyla hizmeti kesmenin yan etkisine IXamlTypeResolver sahip olabilir.

.NET Framework 4'te, StaticExtension form türü. üyesinde tam ad sağlamak yerine Member basit üye adı ve olarak MemberTypesağlanan sahip olan türüne göre Member statik birüye döndürebildiği alternatif bir modu destekler. Tür çözümleyici hala hareket eder, ancak bu durumda Member ve MemberType temel olarak birleştirilir: memberFullName = MemberType.FullName + "." + Member.

Şunlara uygulanır