单个对象参数的奇异方法名称,列表的复数?

2 .net c#

我在为数据库应用程序命名方法时遇到问题.

在我的Database实例中,我有一个方法可以Agreement从数据库中删除一个对象.但是,我希望能够Agreement一次删除多个s,以便能够使用事务.问题是我也有一个重载删除单个Agreement对象.

基本上,我的结构是这样的:

public class Database
{
    // ...

    public void RemoveAgreement(Agreement a)
    {
        // ...
    }

    public void RemoveAgreement(IEnumerable<Agreement> agreements)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但这可能令人困惑,因为Agreements 列表的重载具有单数名称,尽管本身就是复数.

我的问题是,我应该如何构建这个?我应该有两个带名称的重载RemoveAgreement(),或者RemoveAgreements()?或者我应该使用两种不同的方法,而不是重载?

谢谢.

Cla*_*edi 6

我会说,对于接收列表作为参数的方法,RemoveAgreement由于您描述的原因,名称不正确.

我会打电话给它 RemoveAgreements

对于您的类的名称(数据库),我会说您将其用作所有实体的DAO.

如果您仅将此类用于协议实体,我将使用这两种方法

public void Remove(Agreement agreement)

public void Remove(IEnumerable<Agreement> agreements)