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
Post a Comment