i trying achieve following, not sure if possible.
i have following 'base' entities
public abstract class baseobject {} public abstract class basecollection <t> : observablecollection<t> t : baseobject {} i have
public class obj_1: baseobject {} public class obj_1_collection : basecollection <obj_1> { public obj_1_method_1 () {} } and
public class obj_2: obj_1 {} following same logic obj_1, want have obj_2_collection. want collection inherit obj_1_collection in order access methods e.g. obj_2_collection.obj_1_method_1(). have in mind trying following (in pseudocode):
public class obj_2_collection : obj_1_collection<obj_2 extends obj_1> meaning obj_2_collection can access obj_1_collection, collection object of type obj_2
you're there, problem didn't define obj_1_collection generic.
to so, have use syntax used basecollection<t> , restrict type t obj_1
that give :
public class obj_1_collection<t> : basecollection <t> t : obj_1 {} concerning use of generics , inheritance, might want read in , out modifiers keyword enable covariance , contravariance.
as side note, here c# naming conventions
Comments
Post a Comment