मैं एक साधारण सामान्य समारोह बनाना चाहते हैंसी #: "बाहर" के साथ सामान्य विधि का उपयोग कैसे करें चर
void Assign<T>(out T result)
{
Type type = typeof(T);
if (type.Name == "String")
{
// result = "hello";
}
else if (type.Name == "Int32")
{
// result = 100;
}
else result = default(T);
}
उपयोग:
int value;
string text;
Assign(value); // <<< should set value to 100
Assign(text); // <<< should set text to "hello"
मेरा प्रश्न है कि कैसे आप कोड कार्यक्रम है स्थापित करने के लिए है ये मूल्य यानी। टिप्पणी खंड में गायब कोड।
किसी भी मदद के लिए धन्यवाद।
धन्यवाद एक बहुत; यह काम। कारण मैं सामान्य दृष्टिकोण का उपयोग कर रहा हूं, मेरा कोड सरल बनाना है। क्योंकि "असाइन कोड" केवल एक विशिष्ट प्रकार (उदाहरण के लिए स्ट्रिंग) के लिए आवश्यक है; वहां हर संभव प्रकार के लिए अधिभारित कार्यों को बनाना बुरा होगा। परिणाम = डिफ़ॉल्ट (टी) // सामान्य व्यवहार –
मैं आपसे सहमत नहीं हूं। मुझे लगता है कि ओवरलोडिंग बिल्कुल इसके लिए है। आवश्यकता होने पर केवल जेनरिक का प्रयोग करें। – Sheldon