這個問題是關於適當的和可接受的編碼實踐給出以下情況。在API中創建超載方法的正確方法C#
我有以下2種方法。
public TService GetDuplexClientChannel<T>(BindingType bindingType, EndpointAddress endPointAddress) where T : TService
{
.. Do work .. then ..
return InstanceOf(TService);
}
public TService GetDuplexClientChannel<T>(BindingType bindingType, string endPointAddress) where T : TService
{
// Call the above method and just return it.
return GetDuplexClientChannel<T>(bindingType, new EndpointAddress(endPointAddress);
}
在第一例中,有方法A,做的工作,和方法B這簡單地是A的過載,但電話有做的工作。
我想知道這是一種可以接受的模式,還是應該在第二種方法中重複該代碼?這是最佳做法。
我已經看過這個鏈接,但它並沒有回答我的問題,什麼是正確的還是不正確的: Better way to overload methods in C#
DRY是一種編程原則,意思是「不要重複自己」。它是重用代碼的好實踐(正如你所做的那樣),而不是重複它,並且在維護和難以追蹤的錯誤方面加倍努力(在方法A中工作,但不在B中)。 –