【发布时间】:2015-09-23 16:22:06
【问题描述】:
我有一堂课:
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。 它给出了错误:“Type must be enum to match overridden member Criteria.Field”
是否有可能以某种方式或其他方式?
【问题讨论】:
-
可以使用泛型吗?
-
“不起作用”是永远足够的信息。会发生什么与你想发生什么? (但是不,你不能用不同类型的属性覆盖一种类型的属性。)
-
@JonSkeet 谢谢。我想要实现的是:我想要一个基类,但继承的类将实现他们自己的 Enum 版本。有没有办法做到这一点?
-
@DanielA.White 非常感谢。马上试试。
-
你还没有澄清问题。你收到什么错误?是的,我可以猜到——但我不应该这么做。细节应该在问题中 - 包括动机。
标签: c# inheritance enums