1. ホーム
  2. c#

[解決済み] C#のEnum型制約 [重複]について

2022-04-26 20:52:07

質問

<ブロッククオート

重複の可能性があります。

enumのジェネリック制約がない場合の良い回避策をご存知の方はいらっしゃいますか?

C#で型制約が使えない理由は何ですか? Enum 's? きっと何か方法があるのでしょうが、なぜできないのか理解したいです。

以下、私ができるようになりたいこと(理論上)です。

public static T GetEnum<T>(this string description) where T : Enum
{
...
}

解決方法は?

これは時々リクエストされる機能です。

私がよく指摘するように、誰かがその機能を設計し、仕様化し、実装し、テストし、文書化して出荷するまで、すべての機能は未実装のままです。今のところ、この機能については誰もそれを行っていません。他にやるべきことがたくさんあり、予算も限られていて、言語設計チームでの「こうしたらいいのでは?

<ストライク CLRがサポートしていないため、動作させるためには、言語に加えてランタイムの作業も必要になるのです。 (回答コメント参照)

まともな使用例がいくつかあることはわかりますが、より頻繁に要求され、より説得力があり、より広範囲な使用例がある何百もの他の機能のうちの1つではなく、この作業を行うほど、説得力があるものはありません。 (このコードに手を加えるなら、個人的には、enum制約よりもデリゲート制約を優先させます。)このコードに手を加えるなら、個人的には、enum制約よりもデリゲート制約を優先させます。