2
我有以下隐藏枚举值
public enum MessageType
{
Warning,
Info,
Error
}
public class CalculationMessage
{
public string Message { get; set; }
public MessageType Type { get; set; }
}
public class ValidationMessage
{
public string Message { get; set; }
public MessageType Type { get; set; }
public string ErrorValue { get; set; }
}
我想创建从两个类都派生的基类,但是我有枚举问题作为ValidationMessage可错误/警告/信息但CalculationMessage只能是警告或信息。
这最好的实现方式是什么?
在此先感谢。
定义两个枚举...你不能'限制'一个枚举的值。也许你可以尝试添加一个私有setter到属性并添加一个方法,如SetMessageType(MessageType Type)来设置值。 – Cybermaxs
Enums + OO混合不好。如果你想要任何适用于任何类型的基类消息的功能(比如说基于消息类型的路由),你需要这些额外的枚举类型。如果我是我,我会做一个字符串并完成它。但是,我认为枚举一般只用于边际收益。 – dkackman