Specifying the return type of an abstract method from a Base Class according to a Sub Class

前端 未结 4 1268
终归单人心
终归单人心 2020-12-15 07:15

I have the following structure:

abstract class Base {
        public abstract List<...> Get(); //What should be the generic type?
}

class SubOne :         


        
4条回答
  •  醉酒成梦
    2020-12-15 07:47

    Your abstract class should be generic.

    abstract class Base {
            public abstract List Get(); 
    }
    
    class SubOne : Base {
        public override List Get() {
    
        }
    }
    
    class SubTwo : Base {
        public override List Get() {
        }
    }
    

    If you need to refer to the abstract class without the generic type argument, use an interface:

    interface IBase {
            //common functions
    }
    
    abstract class Base : IBase {
            public abstract List Get(); 
    }
    

提交回复
热议问题