C# 单对象参数的单数方法名称,列表的复数形式?
我在为数据库应用程序命名方法时遇到问题 在我的C# 单对象参数的单数方法名称,列表的复数形式?,c#,.net,C#,.net,我在为数据库应用程序命名方法时遇到问题 在我的数据库实例中,我有一个方法可以从数据库中删除协议对象。但是,我希望能够一次删除多个协议s,以便能够使用事务。问题是我还有一个重载来删除单个Agreement对象 基本上,我的结构是这样的: public class Database { // ... public void RemoveAgreement(Agreement a) { // ... } public void RemoveA
数据库
实例中,我有一个方法可以从数据库中删除协议
对象。但是,我希望能够一次删除多个协议
s,以便能够使用事务。问题是我还有一个重载来删除单个Agreement
对象
基本上,我的结构是这样的:
public class Database
{
// ...
public void RemoveAgreement(Agreement a)
{
// ...
}
public void RemoveAgreement(IEnumerable<Agreement> agreements)
{
// ...
}
}
公共类数据库
{
// ...
公共无效撤销协议(协议a)
{
// ...
}
公共无效移除协议(IEnumerable协议)
{
// ...
}
}
但这可能会让人困惑,因为协议列表的重载有一个单数名称,尽管它本身就是复数
我的问题是,我应该如何构建它?我应该有两个名为RemoveAgreement()
或RemoveAgreements()
的重载吗?或者我应该使用两种不同的方法,而不是重载?
谢谢。我建议使用单独的名称,并将复数版本重载为
参数协议[]
我认为对于将列表作为参数接收的方法,名称RemoveAgreement
不正确,原因如下所述
我会称之为RemoveAgreements
对于类(数据库)的名称,我要说的是,您将它用作所有实体的DAO
如果您只对协议实体使用这个类,我将使用这2个方法
公共无效删除(协议)
及
public void Remove(IEnumerable agreements)
在这种情况下,我会这样做:
public void RemoveAgreement (Agreement agreement)
{
// Do Stuff
}
public void RemoveAgreements (IEnumerable<Agreement> agreements)
{
foreach (Agreement a in agreements)
{
RemoveAgreement(a);
}
}
公共无效撤销协议(协议)
{
//做事
}
公共无效移除协议(IEnumerable协议)
{
foreach(协议中的协议a)
{
搬迁协议(a);
}
}
是的,这是一个相当小的应用程序,它只跟踪三种类型的对象,所以我认为只使用一个DAO就不那么复杂了。