Krzysztof 的建议是否适用于构造函数?如果是这样,您如何正确实施它?
我们建议对输出和属性使用 Collection、ReadOnlyCollection 或 KeyedCollection,对输入使用接口 IEnumerable、ICollection、IList。
例如,
public ClassA
{
private Collection<String> strings;
public Collection<String> Strings { get { return strings; } }
public ClassA(IEnumerable<String> strings)
{
this.strings = strings; // this does not compile
this.strings = strings as Collection<String>; // compiles (and usually runs?)
}
}