我有一个定义为的接口(interface)
public interface IReaderInfo
{
string Displayname {get;}
}
和一个实现该接口(interface)的类
public class ReaderInfo : IReaderInfo
{
string DisplayName {get;}
}
然后我创建了一个返回List的函数
public List<ReaderInfo> GetReaders
{
var readers = new List<ReaderInfo>();
var Ireaders = someobject.Getreaders();// Returns the list of IReaderInfo.
// Now i would like cast Ireaders as readers and return.
}
我该如何转换?
最佳答案
您必须使用转换的项目创建一个新列表:
var readers = Ireaders.Cast<ReaderInfo>().ToList();
或者,如果可能存在不兼容的IReaderInfo条目,而您只想在结果中使用实际的ReaderInfo对象:
var readers = Ireaders.OfType<ReaderInfo>().ToList();
关于c# - 如何在C#中将List <Interface>转换为List <Class>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44668956/