在我的域对象中,我将 1:M 关系与 IList 属性映射。
为了获得良好的隔离,我以这种方式将其设为只读:
private IList<PName> _property;
public ReadOnlyCollection<PName> Property
{
get
{
if (_property!= null)
{
return new ReadOnlyCollection<PName>(new List<PName>(this._property));
}
}
}
我不太喜欢 ReadOnlyCollection,但没有找到使集合成为只读的接口解决方案。
现在我想编辑属性声明以使其返回空列表而不是null
当它为空时,所以我以这种方式编辑它:
if (_property!= null)
{
return new ReadOnlyCollection<PName>(new List<PName>(this._property));
}
else
{
return new ReadOnlyCollection<PName>(new List<PName>());
}
但是Property
当我在测试中得到它时总是为空。