我有许多类都继承自一个基类 - 实际上它只是一个接口的包装器,以便允许序列化:
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 知道“真实”类型,只是在编译时我无法将其转换。这是因为它根本不可能 - 在每个派生类上没有一些构造函数来进行转换吗?
我在这里搜索过,确实还有其他类似的问题,但我对这些解决方案没有任何运气..
任何帮助都非常感谢..谢谢