我在第三方DLL中有一个类.
Class A
{
}
Run Code Online (Sandbox Code Playgroud)
我需要装饰它,所以我创建了它的本地实例并使用它
class B
{
}
Run Code Online (Sandbox Code Playgroud)
DLL包含一个函数,它给出了A的列表.但是如果我尝试使用它如下
B listofB = Dll.FindAllA()
Run Code Online (Sandbox Code Playgroud)
我得到错误,不能隐式地将DLL.A转换为Proj.B
这两个类的结构没有区别.我怎么转换它?
如果A并且B没有任何共同点(除非它们看起来相同),编译器运气不好.选项:
ToA如果类型不在您的控件之外,请添加等扩展方法我会首先选择前两个选项.请注意,List<T>您可以使用convert all,即:
List<A> orig = ...
List<B> copy = orig.ConvertAll(a => (B)a);// assumes a conversion operator exists
Run Code Online (Sandbox Code Playgroud)
对于其他类型,LINQ Select方法相当于ConvertAll.
| 归档时间: |
|
| 查看次数: |
218 次 |
| 最近记录: |