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