que utilizo en mi biblioteca de tres clases:C# tipos genéricos
public abstract class Base<TFirst, TSecond>
{
public Base()
{
// actions with ID and Data of TFirst and TSecond
}
}
public abstract class First<TFirstID, TFirstData>
{
public TFirstID ID {get; set;}
public TFirstData Data {get; set;}
}
public abstract class Second<TSecondID, TSecondData>
{
public TSecondID ID {get; set;}
public TSecondData Data {get; set;}
}
¿Cómo puedo especificar que TFirst debe heredar de la Primera y TSecond debe heredar de la Segunda, no utilizando los tipos genéricos de identificación y datos de la base de ?
De esta manera:
public abstract class Base<TFirst, TSecond>
where TFirst : First // without generic-types
...
Editar: En las clases Primera, Segunda y utilizo TFirstID TSecondID de propiedades. En la clase Base, uso estas propiedades.
¿Podría aclarar la pregunta un poco, por favor? ¿Primera base? – foson
Quieres decir que ** no ** quieres 'donde primero:' No creo que puedas hacer eso, creo que haskell permite algo así, no estoy seguro. –
gideon
Foson: No, primero no heredó Base –