另外纠正一下我自己的错误,其实IList<T>实例和IList实例不能互相隐式转换,但是IList会被认为是IList<T>的父接口,验证程序如下:
IList<object> testG = new List<object>();
IList test = new ArrayList();
Console.WriteLine("testG is IList:{0}",(testG is IList));
Console.WriteLine("test is IList<object>:{0}", (test is IList<object>));
Console.WriteLine("test is IList<string>:{0}", (test is IList<string>));
Console.Read();
结果显示:
testG is IList:True
test is IList<object>:False
test is IList<string>:False