Bagikan melalui


StaticExtension.ProvideValue(IServiceProvider) Metode

Definisi

Mengembalikan nilai objek untuk diatur pada properti tempat Anda menerapkan ekstensi ini. Untuk StaticExtension, nilai yang dikembalikan adalah nilai statis yang dievaluasi untuk anggota statis yang diminta.

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

Parameter

serviceProvider
IServiceProvider

Objek yang dapat menyediakan layanan untuk ekstensi markup. Penyedia layanan diharapkan menyediakan layanan yang mengimplementasikan pemecah masalah jenis (IXamlTypeResolver).

Mengembalikan

Nilai statis untuk diatur pada properti tempat ekstensi diterapkan.

Pengecualian

Nilai member untuk ekstensi adalah null pada saat evaluasi.

Beberapa bagian dari string tidak diurai member dengan benar

-atau-

serviceProvider tidak menyediakan layanan untuk IXamlTypeResolver

-atau-

member nilai tidak diselesaikan ke anggota statis.

serviceProvideradalah null.

Keterangan

Metode ini mendukung fitur bahasa XAML dan umumnya tidak dimaksudkan untuk dipanggil secara langsung. Implementasi prosesor XAML menggunakan metode ini untuk menangani x:Static nilai ekstensi dengan benar selama pembuatan objek.

Implementasi ini bergantung pada layanan yang didasarkan pada yang diteruskan serviceProvider. serviceProvider tidak boleh null. Objek serviceProvider diharapkan mengembalikan layanan untuk IXamlTypeResolver. Di bawah skenario normal penggunaan oleh pembaca XAML default dan penulis XAML, penyedia layanan yang sesuai tersedia. Konteks skema XAML yang tidak valid mungkin memiliki efek samping dari pemetaan jenis pemecahan dan dengan demikian IXamlTypeResolver layanan.

Dalam .NET Framework 4, StaticExtension mendukung mode alternatif di mana ia dapat mengembalikan anggota statis berdasarkan Member nama anggota sederhana dan jenis pemiliknya yang disediakan sebagai MemberType, daripada Member memberikan nama lengkap dalamanggotajenis. formulir. Pemecah masalah jenis masih bertindak, tetapi dalam hal Member ini dan MemberType pada dasarnya digabungkan: memberFullName = MemberType.FullName + "." + Member.

Berlaku untuk