在我的c#項目中,我有兩個抽象的通用父類,然後有多個繼承它們的子類。問題是我正在將子類型傳遞給父類,並且爲某些看起來很傻的類和方法定義。抽象通用父類可以自動獲取子類型(擴展)嗎?
在通用父類中有沒有辦法獲得繼承它們的類的類型?因此,不必在DTOBase中傳遞類型,而是聲明這將是DTOBase的第一個子類型。當你不能輕易地表示任何其他方式類型的關係
父類定義
public abstract class DTOBase<T> : INotifyPropertyChanged, IMergeable<T>
public abstract class ModelBase<T,U> : INotifyPropertyChanged, ITrackable, IMergeable<U>
where T : DTOBase<T>
where U : ModelBase<T,U>
舉例子類
public class MenuGroup : DTOBase<MenuGroup>
public class MenuGroup : ModelBase<DTOs.MenuGroup, MenuGroup>
爲什麼你需要繼承類的類型? – svick
在第一個示例DTOBase中,我需要IMergeable接口定義的繼承類的類型。 –