मेरे पास एक सामान्य विधि व्यवहार है जिसमें टी पर निर्भर करता है संदर्भ प्रकार या मान प्रकार। यह इतना दिखता है:यह निर्धारित करने के लिए कि टी सामान्य में एक मान प्रकार या संदर्भ वर्ग है या नहीं?
T SomeGenericMethod <T> (T obj)
{
if (T is class) //What condition I must write in the brackets?
//to do one stuff
else //if T is a value type like struct, int, enum and etc.
//to do another stuff
}
मैं की तरह इस विधि नकल नहीं कर सकते हैं:
T SomeGenericMethod <T> (T obj) where T : class
{
//Do one stuff
}
T SomeGenericMethod <T> (T obj) where T : struct
{
//Do another stuff
}
क्योंकि उनके हस्ताक्षर बराबर हैं। क्या कोई मेरी मदद कर सकता है?
शून्य मूल्य प्रकारों पर आपके अतिरिक्त स्पष्टीकरण के लिए धन्यवाद। – mkus
दूसरा विकल्प शून्य प्रकार के साथ एक मूल्य प्रकार की एक संभावित तुलना है, जो कुछ रेसर्पर के बारे में छाल पसंद करता है। क्या उसके आस-पास कोई रास्ता है? – bubbleking
@ बबलिंग: यह इस बात पर निर्भर करता है कि आप क्या हासिल करने की कोशिश कर रहे हैं, वास्तव में ... –