मेरे पास एक विधि है जो IList<T>एक पैरामीटर के रूप में उपयोग करती है । मुझे यह जांचने की आवश्यकता है कि उस Tवस्तु का प्रकार क्या है और इसके आधार पर कुछ करना है। मैं Tमूल्य का उपयोग करने की कोशिश कर रहा था , लेकिन संकलक इसे अनुमति नहीं देता है। मेरा समाधान निम्नलिखित है:
private static string BuildClause<T>(IList<T> clause)
{
if (clause.Count > 0)
{
if (clause[0] is int || clause[0] is decimal)
{
//do something
}
else if (clause[0] is String)
{
//do something else
}
else if (...) //etc for all the types
else
{
throw new ApplicationException("Invalid type");
}
}
}
ऐसा करने के लिए एक बेहतर तरीका होना चाहिए। क्या कोई तरीका है जिससे मैं जांच कर सकता हूं Tकि किस प्रकार का मामला पारित हुआ है और फिर एक switchबयान का उपयोग करें ?