我很少有方法可以接受固定大小的集合(例如2,3,5)。我无法确定哪种方式更好:
public void Foo(IEnumerable<Object> objects)
{
if(objects.Count() != 3)
{
throw new Exception()
}
// actions
}
public void Foo(Object objectA, Object objectB, Object objectC)
{
// actions
}
每个选项都有最终的+ \ - 吗?
答案 0 :(得分:7)
在我看来,第二个要好得多:
答案 1 :(得分:2)
如果您有特定数量的成员,请使用您的第二个选项。如果允许集合但是在运行时抛出异常,则会使方法的使用者感到困惑。如果没有使用适当的测试并且它具有误导性,这可能会或可能不会被捕获。始终为将使用您的代码的人设计,永远不要假设您将始终是维护它的人。
答案 2 :(得分:1)
我会这样做:
public class Bar
{
public Object object1;
public Object object2;
public Object object3;
// add a constructor if you want
}
...
public void Foo(Bar b)
{
// actions
}