इम बाहर का उपयोग कर सामान्य प्रकार पैरामीटर का उपयोग कर एक सार्वभौमिक पार्सर बनाने की कोशिश कर पैरामीटर, लेकिन मैं अवधारणा को समझ नहीं कर सकते 100%जेनेरिक प्रकार
private bool TryParse<T>(XElement element, string attributeName, out T value) where T : struct
{
if (element.Attribute(attributeName) != null && !string.IsNullOrEmpty(element.Attribute(attributeName).Value))
{
string valueString = element.Attribute(attributeName).Value;
if (typeof(T) == typeof(int))
{
int valueInt;
if (int.TryParse(valueString, out valueInt))
{
value = valueInt;
return true;
}
}
else if (typeof(T) == typeof(bool))
{
bool valueBool;
if (bool.TryParse(valueString, out valueBool))
{
value = valueBool;
return true;
}
}
else
{
value = valueString;
return true;
}
}
return false;
}
आप अनुमान लगा सकते हैं, कोड संकलन नहीं करता है, के बाद से मैं int | bool | स्ट्रिंग को टी में परिवर्तित नहीं कर सकता (उदाहरण के लिए। value = valueInt)। फीडबैक के लिए धन्यवाद, शायद यह संभव नहीं है कि मैं इसे कर रहा हूं। एक TypeConverter
उपयोग करने से पहले .NET 3.5
वाह, अच्छा सवाल बाहर मदद कर सकता है। आज रात जब मेरे पास वापस आने का समय है, तो मैं हर विश्वसनीय उत्तर को ऊपर उठाने जा रहा हूं। –