У меня есть класс:переопределить перечисление с настраиваемым перечислением в унаследованном классе
public abstract class Criteria
{
public virtual Enum Field
{
get; set;
}
public string FieldData;
}
У меня есть перечисление:
public enum MyFieldsEnum
{
Name=1,
Age=2,
Gender=3,
}
У меня есть наследственное класс:
public class MyCriteria : Criteria
{
MyFieldsEnum myfields;
public override MyFieldsEnum Field
{
get
{
return myfields;
}
set
{
base.Field = value;
}
}
}
Идея состоит в том, чтобы вернуть MyFieldsEnum, а не пустое поле Enum . Но приведенный выше код не работает и не принимает MyFieldsEnum для поля. Дает ошибку: «Тип должен быть перечисляемым, чтобы соответствовать переопределенному члену Критерии. Поле»
Возможно ли это так или иначе?
Вы можете использовать дженерики? –
«не работает» - это * никогда * достаточно информации. Что происходит против того, что вы хотите? (Но нет, вы не можете переопределить свойство одного типа с свойством другого типа.) –
@JonSkeet Спасибо. Я пытаюсь достичь: я хочу иметь базовый класс, но унаследованный класс будет реализовывать собственную версию Enum. Есть ли способ достичь этого? – Satyajit