Cara menggunakan refleksi untuk mendapatkan properti statis suatu kelas di WinRT

Saya bisa mendapatkan properti non-statis tanpa masalah (Cara mendapatkannya properti kelas di WinRT), atau properti statis di c# .net, tetapi tidak tahu cara mendapatkan properti statis di winrt C3.

Sejauh ini yang saya dapatkan. Adakah yang bisa membantu?

            Type type = typeof(ToastNotificationManager);
            var typeInfo = type.GetTypeInfo();
            var historyProperty = type.GetRuntimeProperty("History");
            object history = historyProperty.get
            property.SetValue(obj, value);

Saya mencoba merenungkan dan memanggil ToastNotificationManager.History.Remove() yang hanya didukung di telepon (ToastNotificationManager.History)


person swinefeaster    schedule 31.10.2014    source sumber


Jawaban (1)


Ini berfungsi dengan baik:

PropertyInfo propertyInfo =
    typeof(ToastNotificationManager).GetRuntimeProperty("History");

propertyInfo.SetValue(null, value);

Tentu saja dengan asumsi bahwa tipe ToastNotificationManager memiliki properti bernama History. :)

Perhatikan bahwa saat mengakses properti statis, Anda cukup meneruskan null sebagai referensi objek. Karena tidak ada instance yang terhubung dengan anggota statis, jelas Anda tidak perlu memberikan referensi ke anggota tersebut.

person Peter Duniho    schedule 31.10.2014