我发现自己很难为事件设计 Action 枚举。
f.ex制作计算处理器。
所以我应该有这样的枚举? :
public enum CalculatorCoreActions
{
ProcessStarted,
ProcessFinished,
ProcessFailure,
ProcessFailed,
SubstractionStarded,
SubstractionFinished,
SubstractionFailure,
SubstractionFailed,
<etc.>...
}
或者我应该创建两个枚举?,f.ex:
public enum CalculatorAction
{
Process,
Substraction,
Division
}
public enum CalculationActionResult
{
Started,
Finished,
Failure,
Failed
}
或者我什至应该创建一个新类? :
public class CalculatorActionEventArgs : EventArgs {<...>}
public class CalculatorActionFailedEventArgs : EventArgs {<...>}
public class etc... : EventArgs {<...>}
您认为哪种方法最好?
最佳答案
你想做什么?你打算用枚举来做什么?您的第一个示例可能适合很少的组合,而第二个示例将更复杂,但更清晰且更易于扩展。
我的猜测是,您希望能够显示计算的状态,并且可能对状态采取行动,例如错误处理。您可能会考虑State或State Machine模式而不是枚举,以避免枚举上出现大量 switch 语句。
关于c# - 最佳实践 : action enum usage for events,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877378/