gpt4 book ai didi

c# - 如何将泛型 List 转换为基于接口(interface)的 List

转载 作者:太空狗 更新时间:2023-10-29 19:51:23 26 4
gpt4 key购买 nike

我确信我遗漏了一些简单的东西,但是我正在尝试将所有实现接口(interface)的对象的强类型列表转换为该接口(interface)类型的列表。

下面是演示错误的示例:

public void ExampleCode(){
List<Cube> cubes = new List<Cube>();
List<Shape> allShapes;
allShapes = cubes;//Syntax Error
allShapes = (List<Shape>)cubes;//Syntax Error
}

public class Cube : Shape
{
public int ID { get; set; }
public int Sides { get; set; }
}

public interface Shape
{
int ID { get; set; }
int Sides { get; set; }
}

最佳答案

不要像那样转换,试试:

allShapes = cubes.Cast<Shape>().ToList();

为此,您需要 .NET 3.5。我相信 Cast 扩展方法可以在 System.Linq 中找到。

关于c# - 如何将泛型 List<T> 转换为基于接口(interface)的 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com