gpt4 book ai didi

c# - 如何对列表进行类型转换?

转载 作者:行者123 更新时间:2023-11-30 20:11:15 25 4
gpt4 key购买 nike

我在第三方 DLL 中有一个类。

Class A
{

}

我需要装饰它所以我创建了它的本地实例并使用了它

class B
{

}

DLL 包含一个函数,它给我 A 的列表。但是如果我尝试按如下方式使用它

B listofB = Dll.FindAllA()

我收到错误消息,无法将 DLL.A 隐式转换为 Proj.B

这两个类的结构没有区别。我如何转换它?

最佳答案

如果AB没有任何共同点(除了它们看起来相同),编译器运气不好。选项:

  • 继承(有时)
  • 向任一类型添加转换运算符
  • 添加 ToA等扩展方法(如果类型超出您的控制范围)
  • 试试自动映射器
  • 使用序列化(有一些方法可以让一些序列化器使用不同的名称等)

我会先选择前两个选项。请注意 List<T>您可以使用全部转换,即:

List<A> orig = ...
List<B> copy = orig.ConvertAll(a => (B)a);// assumes a conversion operator exists

对于其他类型,LINQ Select方法等同于ConvertAll .

关于c# - 如何对列表进行类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4032000/

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