請參閱以下方法。關於方法超載的建議
public static ProductsCollection GetDummyData(int? customerId, int? supplierId)
{
try
{
if (customerId != null && customerId > 0)
{
Filter.Add(Customres.CustomerId == customerId);
}
if (supplierId != null && supplierId > 0)
{
Filter.Add(Suppliers.SupplierId == supplierId);
}
ProductsCollection products = new ProductsCollection();
products.FetchData(Filter);
return products;
}
catch
{
throw;
}
}
public static ProductsCollection GetDummyData(int? customerId)
{
return ProductsCollection GetDummyData(customerId, (int?)null);
}
public static ProductsCollection GetDummyData()
{
return ProductsCollection GetDummyData((int?)null);
}
1-請教如何爲CustomerId和SupplierId重載,因爲只有一個重載可以用GetDummyData(int?)創建。我應該添加另一個參數來提及第一個參數是CustomerId或SupplierId,例如GetDummyData(int?,string)。或者我應該使用枚舉作爲第二個參數,並提到第一個參數是CustoemId或SupplierId。
2 - 這一條件是正確的或只是檢查> 0就足夠了 - >如果(!客戶ID = NULL & &客戶ID> 0)
3-使用try /像這樣的前提條件是正確的嗎?
4-傳遞(int?)null是正確的或任何其他更好的方法。
編輯:
我已經發現了一些其他職位像這樣因爲我沒有泛型的知識,這就是爲什麼我面對這個問題。我對嗎?以下是帖子。
Overloaded method calling overloaded method
感謝您的建議,請您評論我的編輯? – Kashif 2010-03-25 11:58:11
我不認爲在這種情況下泛型或您編輯中提到的其他問題是相關的。 – LukeH 2010-03-25 12:08:28
感謝您的時間和意見。如果這不打擾你可以請告訴我爲什麼我必須創建單獨的方法。爲什麼我不應該重載這個方法。如果我必須創建單獨的方法來編寫大致相同的代碼,那麼方法重載的目的是什麼。 – Kashif 2010-03-25 12:35:08