我有一个通用类和基类为[Event]的接口。有许多从该基类[Event]派生的类。我可以在通用类方法中获取基类[Event]的属性。但是,我无法获取派生类属性。在所有派生类中,很少有相同的属性,我想在我的通用类方法中访问这些属性。
有没有办法做到这一点。
谢谢
public class Online<T> : IOnline<T> where T : Event
{
public T message { get; set; }
public void Process(IDomainContainer container, T message)
{
var Eventproperty= message.Eventproperty; // no error
var derivedclassproperty= message.derivedclassproperty; //compile time error
}
}
答案 0 :(得分:0)
声明一个从Event派生的基类EventBase,添加派生类的通用属性,然后将Online更改为使用EventBase代替Event。