方法通过多个参数命名GetX

时间:2013-11-23 00:52:58

标签: c# methods overloading

我正在设计一个工厂类,并且想知道根据不同的参数检索对象集合的可接受的方法命名约定是什么。

示例:

从我的数据源获取所有对象(#1无参数):

public GetAll(){...}

获取具有匹配名称的所有对象(#2名称参数):

public GetByName(string name){..}

获取匹配“另一个属性”的所有对象(#3'另一个属性'参数):

public GetByAnotherProperty(string anotherProperty){...}

现在,我遇到麻烦的地方是我想要添加一个带有两个或更多属性的get方法:

获取所有具有匹配名称和“另一个属性”的对象(#4两个参数):

我的一些尝试:

public GetByNameAndAnotherProperty(string name, string anotherProperty){...}
public GetByNameByAnotherProperty(string name, string anotherProperty){...}
public Get(string name, string anotherProperty){...}

一旦我有两个或三个以上的参数,我可以看到前两种方法变得非常麻烦。例如:

public GetByNameByPropertyXByPropertyYByPropertyZ(string name, etc.){...}

有更好的方法吗?如何设计一个灵活的类,它采用任意数量的参数并使命名约定保持简洁明了?

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

也许我误解了这个问题,但在我看来,你正在寻找这个问题:

http://msdn.microsoft.com/en-us/library/w5zay9db(v=vs.110).aspx

public FooClass GetByProperties(params string[] list)