5

次のように定義された2つの同一のC#列挙があります。

public enum ArrivalToleranceEnum
{
    ZERO,
    QUARTERHOUR,
    HALFHOUR,
    ONEHOUR,
    TWOHOURS,
}

public enum ArrivalTolerance {

    /// <remarks/>
    ZERO,

    /// <remarks/>
    QUARTERHOUR,

    /// <remarks/>
    HALFHOUR,

    /// <remarks/>
    ONEHOUR,

    /// <remarks/>
    TWOHOURS,
}

ArrivalTolerance は外部ライブラリで定義されており、私のプログラムではローカル列挙型 ArrivalToleranceEnum を使用したいので、これら 2 つの型を変換する必要があります。これどうやってするの?私はこれを(スイッチを使用して)最後まで実行しようとしましたが、変換する必要がある他のはるかに大きな列挙があるため、非常に面倒で時間の節約にはなりません。

4

4 に答える 4

1

列挙型は型のサブセットです。次のint ようにできます。

ArrivalToleranceEnum ext;
ArrivalTolerance your_enum=(ArrivalTolerance)((int)ext);

名前が同じであれば、 wudzik が提案する解決策が最も安全です。

次のように、各列挙型に関連付ける int 値を指定することもできます。HALFHOUR=0,

于 2013-11-08T10:24:41.427 に答える