[英]C# Generic Class, how can I use public properties of derived class of type parameter?
[英]Is it possible to get Derived class properties at generic class in c#?
我有一個通用類和基類類型為[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
}
}
聲明一個從Event派生的基類EventBase,添加派生類的公共屬性,然后將Online更改為使用EventBase而不是Event。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.