Я пытаюсь создать абстрактный класс, который включает в себя основные функции, от которых я хотел бы наследовать все таблицы.У меня есть несколько сотен таблиц / представлений и я хотел бы обеспечить некоторую однородность в том, как кодирование будет выглядеть во всех классах.я знаю, что C # не допускает абстрактное перечисление, но есть ли лучший способ сделать то, что я пытаюсь достичь?
public abstract class basetbl
{
public abstract enum efields;
public virtual void doSort(params efields[] sortfields)
{
// some generic sort algorithm
}
}
public class sometbl : basetbl
{
public override enum efields
{
field1 = 0,
field2 = 1,
field3 = 2
}
public override void doSort(params efields[] sortfields)
{
// or some other code if the base algorithm is insufficient
}
}
public class testenum
{
...
public void dosort()
{
sometbl stbl = new sometbl();
// get some data
stbl.doSort(stbl.efields.field2, stbl.efields.field1);
// do some stuff
stbl.doSort(stbl.efields.field3);
}
...
}