對於ASP.NET MVC和編程通常是新的。我有一個方法構建一個ViewModel,我在其他大部分視圖中都使用它,並且有兩個重載。我想從第二個重載撥打第一個重載更有效率,所以我這樣做:從另一個調用一個重載的方法來構建ViewModel C#/ ASP.NET MVC
public HeaderViewModel BuildHeaderViewModel(int? chainId, int? sheetId)
{
HeaderViewModel header = new HeaderViewModel();
header.ChainName = db.Chains.Find(chainId).Name;
header.SheetName = db.Sheets.Find(sheetId).Name;
header.SheetDescription = db.Sheets.Find(sheetId).Description;
return header;
}
public HeaderViewModel BuildHeaderViewModel(int? chainId, int? sheetId, int? fileId)
{
HeaderViewModel header = new HeaderViewModel();
header = BuildHeaderViewModel(chainId, sheetId); // calling first overload
var fileDetails = db.FileDetails.Find(fileId);
header.SheetFileName = fileDetails.Name + fileDetails.Extension;
return header;
}
我的問題是,這是這樣做的正確的/最有效的方法是什麼?任何輸入將不勝感激。
常見模式是讓構造函數採用最少的參數調用構造函數,該構造函數接受的參數最多。通常使用':this(...)'。 – haim770
好點。只有「構造函數」似乎被誤用了。這些只是方法。我認爲OP意味着「構造函數」在這些方法中創建並返回一個對象實例,但這顯然不是正確的術語。 –
我便從努力在尋找到'':this'',但我真的不明白。我認爲是因爲我反其道而行之,讓構造函數的參數調用最少的參數。另外,感謝澄清我的術語@ChrisPratt! – justiceorjustus