对于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