public class Class{
public string First{get;set;}
public string Second{get;set;}
}
यह मेरी सरल कक्षा है। फिर मैं इस वर्ग के साथ एक सूची बनाता हूं। मैं उदाहरण के लिए इस वर्ग से फ़ील्ड प्राप्त करने के लिए अपने चर स्ट्रिंग का उपयोग करना चाहता हूं:
var myRecord = new List<class>();
// add...
string myString = "Second";
var somethinf = myRecord.Where(i => i.myString == something)
इस क्षेत्र को Second
myString
से प्राप्त करने का एक तरीका है
2 जवाब
इसे पूरा करने के लिए आप परावर्तन का उपयोग कर सकते हैं:
var somethinf = myRecord.Where(prop => ((string)typeof(Class).GetProperty("Second").GetValue(prop)) == something);
कृपया इस फ़ेल्ड को देखें।
परावर्तन से बचते हुए, एक सरल तरीका यह हो सकता है कि आप अपनी कक्षा को केवल एक शब्दकोष बनायें:
public class Class
{
private Dictionary<string, string> _dictionary;
public Class()
{
_dictionary = new Dictionary<string, string>()
{
{ "First", "Foo" },
{ "Second", "Bar" }
};
}
public string this[string key]
{
get { return _dictionary[key]; }
set { _dictionary[key] = value; }
}
}
तब आपको वह डेटा मिल सकता है जिसकी आपको आवश्यकता है:
var myRecords = new List<Class>();
// ...
string variableString = "Second", valueString = "Foo";
var results = myRecords.Where(x => x[variableString] == valueString);
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।