我需要将List对象转换为另一个作为接口的List对象
public class THold : IHold
{..}
Run Code Online (Sandbox Code Playgroud)
在这里,IHold是界面.
我想做这个:
List<THold> hold = new List<THold>();
List<IHold> test = hold;
Run Code Online (Sandbox Code Playgroud)
你最接近的是:
List<IHold> test = hold.Cast<IHold>().ToList();
Run Code Online (Sandbox Code Playgroud)
问题是不存在直接演员.如果我有以下内容怎么办?
public class THold : IHold { /* ... */ }
public class UHold : IHold { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
然后:
List<THold> holds = new List<THold>();
List<IHold> iholds = (List<IHold>) holds;
iholds.Add(UHold);
Run Code Online (Sandbox Code Playgroud)
显然UHold实现IHold界面但显然也无法添加到THold对象列表中.
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |