2

イベントのクラスを開始しています。現在、列挙型は 2 つあります。

[Flag]
public enum Status
{
    statusA,
    statusB,
    statusC,
    statusD,
}

[Flag]
public enum StatusType{
    Request,
    Success,
    Fail,
    Start,
    End
}

たとえば、Action RequestingStatusA (Status.StatusA & StatusType.Request) というイベントを発生させたいと考えています。もちろん、これはエラーを引き起こします。とにかくそれらをその場で組み合わせる方法はありますが、イベントハンドラーが認識できるように署名として作成します。

私もこのようにすべきですか?前もって感謝します。

4

1 に答える 1

3

いいえ。それだけでなく、変換されていないビット値をマップしようとすると衝突が発生します。したがって、盲目的にキャストを検討しないでくださいint:)

両方の列挙型の値をラップする新しい型を作成 (および渡し) しないのはなぜですか?

struct RequestStatus {
  // implement as desired
  public StatusType Type { get; set; }
  public Status Status { get; set; }
}

Action RequestingStatusA (RequestStatus status) {
  ..
}
于 2013-01-18T05:36:31.800 に答える