小编Sam*_*ngo的帖子

将派生类的列表转换为仍返回派生类对象的基类列表

我有以下代码:

public class BaseClass
{
    public string A { get; set; }
}

public class DerivedClass : BaseClass
{
    public string B { get; set; }
}


List<DerivedClass> _derivedClass = new List<DerivedClass>() 
                                       { 
                                           new DerivedClass() 
                                             { A = "test1",
                                               B = "test2"
                                             }
                                       }; 

List<BaseClass> _baseClass = _derivedClass.Cast<BaseClass>.ToList();
Run Code Online (Sandbox Code Playgroud)

代码编译没有任何错误,但是,我希望_baseClass只包含属性A(类型的对象BaseClass),但它同时返回AB属性(类型的对象DerivedClass).我错过了什么以及将派生类的List转换为其基类列表的正确方法是什么?

谢谢.

c# base-class derived-class

4
推荐指数
1
解决办法
1899
查看次数

标签 统计

base-class ×1

c# ×1

derived-class ×1