के सभी चरों को कैसे सूचीबद्ध करें सी # में कक्षा के सभी चर (फ़ील्ड्स) को सूचीबद्ध करने का कोई तरीका है। यदि हां से कोई मुझे कुछ उदाहरण दे सकता है तो उन्हें List
में कैसे सहेजना है और उन्हें Anonymous Types
(var) का उपयोग कर सकते हैं।कक्षा
कक्षा
उत्तर
आपका प्रश्न पूरी तरह से स्पष्ट नहीं है। ऐसा लगता है कि आप अपने वर्ग की दी गई उदाहरण के लिए क्षेत्रों के मूल्यों हैं:
var fieldValues = foo.GetType()
.GetFields()
.Select(field => field.GetValue(foo))
.ToList();
ध्यान दें कि fieldValues
List<object>
है। यहां, foo
आपकी कक्षा का एक मौजूदा उदाहरण है।
आप public
और गैर public
क्षेत्रों चाहते हैं, आप के माध्यम से
var bindingFlags = BindingFlags.Instance |
BindingFlags.NonPublic |
BindingFlags.Public;
var fieldValues = foo.GetType()
.GetFields(bindingFlags)
.Select(field => field.GetValue(foo))
.ToList();
बाध्यकारी झंडे को बदलने के लिए आप केवल नाम चाहते हैं की जरूरत है:
var fieldNames = typeof(Foo).GetFields()
.Select(field => field.Name)
.ToList();
यहाँ, Foo
का नाम है आपकी कक्षा।
मुझे इस वाक्यविन्यास –
var fields = whateverYourClassType.GetType().GetFields().Select(f => f.Name).ToList();
myClass.GetType().GetProperties()
के साथ "अभिव्यक्ति में लैम्ब्डा अभिव्यक्तियाँ नहीं हो सकतीं" फ़ील्ड के बारे में गुण नहीं है। – user2913184
वह चर के बारे में नहीं पूछ रहा है फ़ील्ड। –
यह एक कक्षा में सभी क्षेत्रों के नाम (दोनों सार्वजनिक और गैर सरकारी, दोनों स्थिर और दृष्टांत फ़ील्ड) सूची जाएगा:
BindingFlags bindingFlags = BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static;
foreach (FieldInfo field in typeof(TheClass).GetFields(bindingFlags))
{
Console.WriteLine(field.Name);
}
आप क्षेत्रों प्राप्त करना चाहते हैं किसी वस्तु उदाहरण पर बजाय आधारित, GetType
बजाय का उपयोग करें:
foreach (FieldInfo field in theObject.GetType().GetFields(bindingFlags))
{
Console.WriteLine(field.Name);
}
यह मेरे लिए काम किया। मेरी कक्षा में सभी enums प्राप्त करने की कोशिश कर रहा था: 'MyEnum enum = (MyEnum) 0; ' –
नहीं काफी प्रश्न पूछा - लेकिन यहां इसका तरीका "inv" नामक किसी ऑब्जेक्ट से दशमलव प्रकार के सभी गुणों के मान प्राप्त करने के लिए:
var properties = inv.GetType().GetProperties();
foreach (var prop in properties)
{
if (prop.ToString().ToLower().Contains("decimal"))
{
totalDecimal += (Decimal)prop.GetValue(inv, null);
}
}
- 1. कक्षा सूची के लिए कक्षा संरचना कक्षा?
- 2. कक्षा कक्षा - उदाहरण बनाम कक्षा के तरीके
- 3. कक्षा बी को कक्षा
- 4. कक्षा ए कक्षा ए
- 5. कक्षा
- 6. कक्षा
- 7. कक्षा
- 8. कक्षा
- 9. कक्षा
- 10. कक्षा
- 11. कक्षा
- 12. कक्षा
- 13. कक्षा
- 14. कक्षा
- 15. कक्षा
- 16. कक्षा
- 17. कक्षा
- 18. कक्षा
- 19. कक्षा
- 20. कक्षा
- 21. कक्षा
- 22. कक्षा
- 23. कक्षा
- 24. कक्षा
- 25. कक्षा
- 26. कक्षा
- 27. कक्षा
- 28. कक्षा
- 29. कक्षा
- 30. कक्षा
"चर," क्या आपका मतलब फ़ील्ड, गुण या दोनों है? –
फ़ील्ड्स, सोरी मैंने अपनी पोस्ट संपादित की। – Burimi
_ मुझे कोडज़ दिखाएं _... यहां दस्तावेज़ है: http://msdn.microsoft.com/en-us/library/sa5z9w50.aspx – sehe