我有一个界面说public interface IofMine{}
和这样的代码:
interface IItems
{
List<IofMine> MyList;
}
public class Items: IItems{
private List<IofMine> _myList;
public List<IofMine> MyList
{
get{return _myList;}
set{_myList = value;}
}
}
public class ofMine : IofMine
{}
...
在说 main 的某些地方,我将此函数称为 add1 和 add2 ,看起来像这样:
...
public static void add1<T>(Items items) where T : IofMine, new()
{
var temp = items.MyList;
var toAdd = new List<T>();
temp.AddRange(toAdd); // here it talls me : Error Argument 1: cannot convert from 'System.Collections.Generic.List<T>' to 'System.Collections.Generic.IEnumerable<IofMine>'
}
public static void add2<T>(Items items) where T : IofMine, new()
{
var toAdd = new List<T>();
toAdd.AddRange(items.MyList); // here it talls me : Error Argument 1: cannot convert from 'System.Collections.Generic.List<IofMine>' to 'System.Collections.Generic.IEnumerable<T>'
}
所以我想知道如何使用我的函数收到的通用模板中的列表来扩展界面中的列表,反之亦然?