将不同的枚举组合成一个c#参数



我正在开始一个类的事件。当前有两个枚举。

[Flag]
public enum Status
{
    statusA,
    statusB,
    statusC,
    statusD,
}
[Flag]
public enum StatusType{
    Request,
    Success,
    Fail,
    Start,
    End
}

我希望能够引发事件,Action RequestingStatusA(状态)。StatusA,StatusType.Request)为例。这当然会产生误差。是否有办法在运行中组合它们,但使其作为签名,以便事件处理程序能够识别它。

我应该这样做吗?

No。不仅如此,如果你试图映射未转换的位值,你还会有冲突——所以不要盲目地考虑转换为int:)

为什么不创建(并传递)一个新的类型来包装枚举类型的值?

struct RequestStatus {
  // implement as desired
  public StatusType Type { get; set; }
  public Status Status { get; set; }
}
Action RequestingStatusA (RequestStatus status) {
  ..
}

相关内容

  • 没有找到相关文章

最新更新