मेरे पास एक विधि है जो 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
बयान का उपयोग करें ?