在我的接口中,通常有一个IList<ISomeType>
表示 List 类型成员并表示我期望一个支持Add
方法的实现。
但是在接口实现中,有一个
IList<ISomeType> = new List<ISomeType>()
并且每次我使用列表时,我都必须投射,例如
(this.MyList as List<IMyType>).AddRange(someType.ToList());
有一个更好的方法吗?如何避免这种演员阵容?
- 编辑以询问更多信息 -
而不是扩展方法,是否有一个小的 linq 表达式来解决这个问题?
IList<string> list = new List<string>();
var items = new[] { "1", "2", "3" };
items.ToList().ForEach(x => list.Add(x));
但这看起来不是很直截了当,因为它颠倒了正在做的事情。(操作是在要添加的项目上,而不是在列表上)。
还有什么比这更好的吗?可能的事情可以在列表中完成?