首先,我對這個模糊的標題感到抱歉,我很難想出一個明確的標題來描述我的問題。隨意改變你知道更好的標題。如何處理將參數傳遞給調用其他方法的方法?
在我的代碼我經常有這樣的情況:
public class Processor
{
public void UpdateBatch(List<myType> myTypes, int someId, Foo extra, int barId)
{
foreeach(var item in myTypes)
{
if(some condition)
{
Method(item, someId, extra);
// some other actions...
}
}
}
private void Method(myType, int someId, Foo extra)
{
if(string.isNullOrEmpty(myType.Prop)
{
Create(someId, extra);
}
}
private void Create(int someId, Foo extra)
{
var some = unitOfWork.Somes.AddObject(new Some { Prop1 = extra.Bar });
}
}
我想證明的事情是,我通過所有的參數,每個方法,雖然有些方法並不需要所有的參數,但一些後續方法呢。
我在想你們是怎麼處理這件事的。你是否創建(私有)屬性?或者創建一個新的類來存儲所有的屬性值並傳遞該對象?或者就像上面的代碼一樣?要麼... ?
如果該方法需要將參數傳遞給另一個方法,那麼它*不需要它們。說它不需要它們就是不正確的。 – Servy 2014-10-27 17:46:40
順便說一下,代碼審查(http://codereview.stackexchange.com) – user469104 2014-10-27 17:47:28
也許更好,這段代碼不會編譯...如果你要發佈代碼示例,你應該發佈一個工作。 – 2014-10-27 19:23:06