Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不创建新列表的情况下将子对象列表强制转换为父对象列表?_C#_.net_List_Inheritance - Fatal编程技术网

C# 如何在不创建新列表的情况下将子对象列表强制转换为父对象列表?

C# 如何在不创建新列表的情况下将子对象列表强制转换为父对象列表?,c#,.net,list,inheritance,C#,.net,List,Inheritance,可能重复: 我有一个从类a继承的类a和类B 在另一个类中,我有一个列表,我希望将其作为列表返回,但不创建新列表,因为我希望使用一个可观察的集合,并且需要两个列表相同 有什么想法吗?谢谢。将其设置为IEnumerable而不是列表?然后您的属性可以返回BaseCollectionName。选择(a=>(B)a),您实际上不需要创建新列表吗 否则,如果不创建新的List对象,就无法将List转换为List;即使在4.0中,列表也是不变的。虽然,IEnumerable接口支持变化,但这会给您提供完整

可能重复:

我有一个从类a继承的类a和类B

在另一个类中,我有一个列表,我希望将其作为列表返回,但不创建新列表,因为我希望使用一个可观察的集合,并且需要两个列表相同


有什么想法吗?谢谢。

将其设置为
IEnumerable
而不是
列表
?然后您的属性可以返回
BaseCollectionName。选择(a=>(B)a)
,您实际上不需要创建新列表吗


否则,如果不创建新的
List
对象,就无法将
List
转换为
List
;即使在4.0中,列表也是不变的。虽然,
IEnumerable
接口支持变化,但这会给您提供完整的可观察功能。为什么您的答案中会有这么多问题?可能是因为我建议进行更深入的架构更改(并可能进行一些假设),出于某种原因,它们可能不会与OP的目标发生冲突。。。