我有2个单独的课程:
区域属性
领域属性
1个AreaProperties可以映射到1个FieldProperties。在不更改设计的情况下,我想要一个方法来返回这些对象的List<>
什么是C#中的泛型集合才合适?
我了解我可以发送2个列表,并且该函数如下所示:
public List<AreaProperties> Save(ref List<FieldProperties>)
{
..code
}
编辑:
Dror Helper的解决方案听起来不错。但是,我最近发现FieldProperties和AreaProperties之间没有1:1的关系。
我现在该如何处理。我仍然想使用具有FieldProperties和AreaProperties对象的自定义类,但是我将如何处理“一对多”方案?
最佳答案
您可以创建一个具有两个成员的类/结构-AreaProperties和FieldProperties并返回该类的列表
class Pair<T1, T2>
{
T1 t1;
T2 t2;
}
List<Pair<AreaProperties, FieldProperties>> Save(){ ...}
或改用System.Collections.Generic.KeyValuePair(根据下面的Patrick建议)
List<KeyValuePair<AreaProperties, FieldProperties>> Save(){ ... }
这样,您也可以保持1..1关系。
编辑:
如果您需要1..n关系,我想您想返回
而是使用List >>,这样您就可以为返回的每个AreaProperty保留一个字段属性列表,并且仍保持它们之间的关系。