วิธีใช้การสะท้อนกลับเพื่อรับคุณสมบัติคงที่ของคลาสใน WinRT

ฉันสามารถรับคุณสมบัติที่ไม่คงที่ได้โดยไม่มีปัญหา (วิธีรับ คุณสมบัติของคลาสใน WinRT) หรือคุณสมบัติคงที่ใน c# .net แต่ไม่ทราบวิธีรับคุณสมบัติคงที่ใน C3 winrt

เท่าที่ผมได้เท่านี้.. ใครสามารถช่วยได้บ้าง?

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

ฉันกำลังพยายามสะท้อนและโทรหา ToastNotificationManager.History.Remove() ซึ่งรองรับบนโทรศัพท์เท่านั้น (ToastNotificationManager.History)


person swinefeaster    schedule 31.10.2014    source แหล่งที่มา


คำตอบ (1)


มันใช้งานได้ดี:

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

propertyInfo.SetValue(null, value);

แน่นอนว่า สมมติว่าประเภท ToastNotificationManager มีคุณสมบัติ ชื่อ History :)

โปรดทราบว่าเมื่อเข้าถึงคุณสมบัติคงที่ คุณเพียงแค่ส่ง null เป็นการอ้างอิงอ็อบเจ็กต์ เนื่องจากไม่มีอินสแตนซ์ที่เชื่อมต่อกับสมาชิกแบบคงที่ แน่นอนว่าคุณไม่จำเป็นต้องส่งการอ้างอิงไปยังสมาชิกแบบคงที่

person Peter Duniho    schedule 31.10.2014