एक दृष्टिकोण तरीकों
public ObservableCollection<ERCErrors> ErrorCollectionWithValue
(string ErrorDode, int MulCopyNo, int param1)
{
//do some thing with param1
}
public ObservableCollection<ERCErrors> ErrorCollectionWithValue
(string ErrorDode, int MulCopyNo, int param1,int param2)
{
//do some thing with param1 and param3
}
public ObservableCollection<ERCErrors> ErrorCollectionWithValue
(string ErrorDode, int MulCopyNo, int param1, int param2, int param3)
{
//do some thing with param1, param2 and param3
}
अतिभारित है तो इन सभी वैध होगा करने के लिए है
var err = ErrorCollectionWithValue("text", 10, 1);
var err = ErrorCollectionWithValue("text", 10, 1,2);
var err = ErrorCollectionWithValue("text", 10, 1,2,3);
एक और दृष्टिकोण वैकल्पिक पैरामीटर का उपयोग करने के लिए है । इसके साथ आपको पहले दृष्टिकोण में 3 के विपरीत केवल एक विधि की आवश्यकता है।
public ObservableCollection<ERCErrors> ErrorCollectionWithValue
(string ErrorDode, int MulCopyNo, int param1 = 0, int param2 = 0, optional int param3 = 0)
{
}
इन अभी भी मान्य
var err = ErrorCollectionWithValue("text", 10, 1); //defaults param2 and param3 to 0
var err = ErrorCollectionWithValue("text", 10, 1,2); //defaults param3 to 0
var err = ErrorCollectionWithValue("text", 10, 1,2,3);
वैकल्पिक पैरामीटर के किसी भी छोड़ने के लिए कर रहे हैं, आप का उपयोग करने की आवश्यकता है named parameters और this जो केवल सी # 4.0 और उसके बाद
var err = ErrorCollectionWithValue("text", param3: 5); //skipping param1 and param2
में समर्थित है में अन्य दो दृष्टिकोण, आप पैरामीटर के क्रम को छोड़ नहीं सकते हैं।
mayby आप के लिए यह कुछ है ?: http://csharp.net-tutorials.com/classes/method-overloading/ – Mathlight