c# - Extra methods in drived class of abstract class -


i aware question has been asked many times. looking @ answers couldn't find right 1 or working 1 suits me.

let's have abstract class

public abstract class entityservice<t> {      public t getall()      {          //implementation      } } 

then have drived class

public class userservice : entityservice<user> {       public user getall(string orderby)       {           //implementation       } } 

and create static variable of userservice use through out project.

public static readonly entityservice<user> userservice = new userservice(); 

using userservice.getall(); work fine. when want use userservice.getall("acsending"); given compiler error saying method not exist. know have cast userservice type couldn't it. put (userservice) gave errors , wondering there better way without casting since want write code plain , simple possible.

you need either declare variable subclass this:

public static readonly userservice userservice = new userservice(); 

or, downcast every time want use entityservice<user> userservice:

var userservicedowncast = (userservice)userservice; userservicedowncast.getall("ascending"); 

Comments