में कक्षा के गुण कैसे प्राप्त करें मैं सी # और एक्सएएमएल में विंडोज 8 एप्लीकेशन लिख रहा हूं। मेरे पास एक ही प्रकार के कई गुणों के साथ एक वर्ग है जो कि कन्स्ट्रक्टर में उसी तरह सेट है। हाथों में से प्रत्येक संपत्ति के लिए लेखन और असाइनमेंट के बजाय मैं अपनी कक्षा में कुछ प्रकार के सभी गुणों की एक सूची प्राप्त करना चाहता हूं और उन्हें सभी को एक foreach में सेट करना चाहता हूं।WinRT
"सामान्य" नेट में मैं ने लिखा है इस
var properties = this.GetType().GetProperties();
foreach (var property in properties)
{
if (property.PropertyType == typeof(Tuple<string,string>))
property.SetValue(this, j.GetTuple(property.Name));
}
जहां j
मेरे निर्माता की एक पैरामीटर है। WinRT में GetProperties()
मौजूद नहीं है। this.GetType().
के लिए इंटेलिजेंस कुछ भी उपयोगी नहीं दिखाता है जिसका मैं उपयोग कर सकता हूं।
var properties = this.GetType().GetRuntimeProperties();
// or, if you want only the properties declared in this class:
// var properties = this.GetType().GetTypeInfo().DeclaredProperties;
foreach (var property in properties)
{
if (property.PropertyType == typeof(Tuple<string,string>))
property.SetValue(this, j.GetTuple(property.Name));
}
http://msdn.microsoft.com/en-us/library/windows/apps/br230302.aspx#reflection –