【发布时间】:2013-05-30 10:28:19
【问题描述】:
我有许多类都继承自一个基类 - 实际上它只是一个接口的包装器,以允许序列化:
public abstract class VoucherRuleBase : IRule{
public abstract bool Save(int nodeID);
}
public class ActiveDateRule : VoucherRuleBase{
public DateTime ActiveDateRuleProperty{get;set;}
...etc
}
然后我有一个List<VoucherRuleBase>,其中包含许多ActiveDateRule 对象或许多其他派生类。该列表总是充满相同的类型,即。所有 ActiveDateRules 或其他派生类之一。
我需要将列表转换/转换为列表,因为我正在尝试将列表绑定到网格,但由于网格只能看到基类,它无法找到任何属性。在运行时.NET 知道“真实”类型,只是在编译时我无法将其转换。这是因为它根本不可能 - 在每个派生类上没有一些构造函数来进行转换吗?
我在这里搜索过,确实有其他类似的问题,但我对这些解决方案没有任何运气..
任何帮助都非常感谢.. 谢谢
【问题讨论】:
标签: c# .net casting generic-list