c# - 如何在 C# 3.5 中将 List<Article> 转换为 List<IArticle>

标签 c#

代码示例:

public Interface IArticle
{
    int cid{get;set;}
    string Name{get;set;}
    string Content{get;set;}
    ...
}
public Class Article:IArticle
{
   public int cid{get;set;}
   public string Name{get;set;}
   public string Content{get;set;}
   public string Extension{get;set;}
    ...
}

/*
ArticleBiz.GetArticles(int cid) is select some items from database,return type:List<Article>
*/
List<IArticle> articleList=ArticleBiz.GetArticles(2).FindAll(p=>p.cid==cid)

异常(exception):

Error   1   Cannot implicitly convert type 
    'System.Collections.Generic.List<Zm.Models.Article>'
to
    'System.Collections.Generic.IList<Zm.Models.IArticle>'.
An explicit conversion exists (are you missing a cast?)

问题:我不想将返回类型更改为 List<IArticle>GetArticles(..)方法。如何更改代码以转换 List<Article>List<IArticle>成功了吗?

最佳答案

这是我的方法:

IList<IArticle> articles = new List<Article>().Cast<IArticle>().ToList();

关于c# - 如何在 C# 3.5 中将 List<Article> 转换为 List<IArticle>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542502/

相关文章:

c# - 选择正确的数据类型与转换

c# - C#图像处理非常慢

c# - 如何在 if 语句中使用类

c# - 反射(reflection)的工作?

c# - 反射(reflection)使用 out 参数的静态重载方法

c# - 如何在不离开 C# 中的当前页面的情况下重写 URL?

c# - 清零后无法进行定时器循环

c# - 更新linq中的单行

c# - 通过社会安全号码安全地存储和搜索

javascript - 将 'Select All' 添加到 Bootstrap 多选表单/列表