|
|
1
3
看完之后 on MSDN 你可以试试这个:
如果您的私人成员必须声明为IList,那么我们可以将其复制到列表中,然后返回它。但我真的不认为将具体的实现作为私有成员使用会有什么问题。稍后更改实现不会破坏兼容性。
|
|
|
2
1
使用数字1,但使您的子属性为IEnumerable,这样用户就不能添加到集合中。 |
|
|
3
1
就我个人而言,我会采用方法1。在任何情况下,允许客户端代码操作子集合都会直接违反封装,因此“锁定”子集合是正确的。 保持节点关系正确的“正确”策略取决于客户机的需求。我假设在这种特定的情况下,您希望客户机能够更改子节点本身,而不是子集合。如果是这样的话,我认为Rob Prouse的建议(使Children属性返回IEnumerable)可能是最佳选择。在其他情况下,readonlycollection可能更好。 |
|
|
4
1
实现一个自定义集合需要很多工作;实现一个只公开两个或三个方法的现有集合类的包装器不是这样的。从您对Jayar的响应来看,这似乎就是您要寻找的。类似:
|
|
|
5
1
我将使用选项1,然后使Children属性如下所示:
现在必须调用AddChild才能添加子级。集合不可访问。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 7 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 7 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 7 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |