我有一个类有一个SearchResults需要的属性 (),我的搜索类之一在List<T>哪里T取决于一个条件
public class SearchGeneralResponse : ActionResponse
{
public IList<ISearchRecord> SearchResults { get; set; }
public SearchGeneralResponse(MbsObjectType searchType)
{
if(searchType == MbsObjectType.SourceRepo) SearchResults = new List<SearchRecord>();
if(searchType == MbsObjectType.BuildConfiguration) SearchResults = new List<SearchRecordBuild>();
}
}
我可以投新SearchRecord的ISearchRecord。但是当我用列表做的时候
this.SearchResults = new List<SearchRecord>();
我收到此错误:
无法将类型 System.Collections.Generic.List 'SearchRecord' 隐式转换为 System.Collections.Generic.List 'ISearchRecord'
这是我的界面:
public interface ISearchRecord
{
}
以及派生类之一:
public class SearchRecord : ISearchRecord
{
public string Name { get; set; }
public string Summary { get; set; }
}
如何List<T>根据特定条件创建可以初始化为类列表的属性?