हाँ:
Type type = typeof(Form); // Or use Type.GetType, etc
foreach (PropertyInfo property in type.GetProperties())
{
// Do stuff with property
}
इससे उन्हें कुंजी/मान जोड़े के रूप में नहीं देंगे, लेकिन आप एक PropertyInfo
से जानकारी के सभी प्रकार प्राप्त कर सकते हैं।
ध्यान दें कि इससे केवल सार्वजनिक संपत्तियां ही दी जाएंगी। गैर-सार्वजनिक लोगों के लिए, आप अधिभार का उपयोग करना चाहते हैं जो BindingFlags
लेता है। यदि आप वास्तव में सिर्फ नाम चाहते हैं/एक विशेष उदाहरण के कहने गुण, आप की तरह कुछ कर सकता है के लिए मूल्य जोड़े:
var query = foo.GetType()
.GetProperties(BindingFlags.Public |
BindingFlags.Instance)
// Ignore indexers for simplicity
.Where(prop => !prop.GetIndexParameters().Any())
.Select(prop => new { Name = prop.Name,
Value = prop.GetValue(foo, null) });
foreach (var pair in query)
{
Console.WriteLine("{0} = {1}", pair.Name, pair.Value);
}
स्रोत
2010-10-24 19:21:33
धन्यवाद जॉन, सही काम किया। – SLoret