0
我有一堆類實現一個公共接口,只有一個方法將一個對象作爲輸入。該方法在每個類中的行爲是相同的,只是每個類處理對象的不同字段。我期待簡化代碼。我可以使用Actions/delegates嗎?有些人可以分享一些代碼說明如何處理這種情況?使用委託/動作的參數化邏輯
這會給我處理的代碼的味道:
class A : interface1
{
int f(List<someObject> x)
{
int result =0;
foreach(var k in x)
{result += k.field1 ;}
return result;
}
}
class B : interface1
{
int f(List<someObject> x)
{
int result =0;
foreach(var k in x)
{result += k.field2;}
return result;
}
}
發表一些代表問題的示例代碼。 –
沒有更多的細節,很難給出一個好的建議。看看戰略模式或行爲模式,看看是否符合您的需求。 – TTat