是否有一种更优雅的方式来确保始终使用至少一个值调用构造函数而不是我在这里得到的值?我这样做是因为如果没有提供值,我想要编译器错误。
public class MyClass
{
private readonly List<string> _things = new List<string>();
public string[] Things { get { return _things.ToArray(); } }
public MyClass(string thing, params string[] things)
{
_things.Add(thing);
_things.AddRange(things);
}
}
编辑
根据评论,我已将代码更改为...
public class Hypermedia : Attribute
{
private readonly Rel[] _relations;
public IEnumerable<Rel> Relations { get { return _relations; } }
public Hypermedia(Rel relation, params Rel[] relations)
{
var list = new List<Rel> {relation};
list.AddRange(relations);
_relations = list.ToArray();
}
}
很抱歉之前编辑代码试图隐藏我想要做的事情。直接从我的代码编辑器粘贴更容易!