我有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保留一个字段属性列表,并且仍保持它们之间的关系。

10-04 17:29