public interface IMyclass
{
string Name { get; set;}
} public class Myclass : IMyclass
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
public class test
{
public IList<IMyclass> Createlist()
{ IList<Myclass> list = new List<Myclass>(); return (IList)list;
}
}想返回一个 IList<IMyclass>
错误:无法将类型“System.Collections.IList”隐式转换为“System.Collections.Generic.IList<ConsoleApplication9.IMyclass>”。存在一个显式转换(是否缺少强制转换?)
{
public IList <IMyclass> Createlist()
{ IList<Myclass> list = new List<Myclass>(); return (IList<IMyclass>)list;
}
}
public class test
{
public IList<IMyclass> Createlist()
{ IList<Myclass> list = new List<Myclass>(); return list;
}
}
如果是和List继承同一个接口,就应该可以直接转换的
{
public IList<IMyclass> Createlist()
{ IList<Myclass> list = new List<Myclass>(); return list;
}
}
你用的是泛型集合IList接口,而该接口位于命名空间:System.Collections.Generic中,下面是MSDN中的解释
类型参数
T
列表中元素的类型。备注
IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接