[解決済み】C#のスイッチオンタイプ【重複あり
2022-04-05 12:58:33
質問
重複の可能性があります。
C# - 'switch on type'にこれより良い代替案はありますか?
C#は、オブジェクトの型の切り替えをサポートしていません。
これをシミュレートするのに最適なパターンは何でしょうか。
switch (typeof(MyObj))
case Type1:
case Type2:
case Type3:
解決方法は?
参照 gjvdkampの回答 この機能は現在C#に存在します。
私は通常、型とデリゲートの辞書を使用します。
var @switch = new Dictionary<Type, Action> {
{ typeof(Type1), () => ... },
{ typeof(Type2), () => ... },
{ typeof(Type3), () => ... },
};
@switch[typeof(MyType)]();
caseやcontinueなどのフォールスルーができないので、少し柔軟性に欠ける。でも、どうせ滅多にそんなことはしないんですけどね。
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み] switch文の中で変数を宣言してはいけないのはなぜですか?
-
[解決済み] JavaScriptで複数ケースを扱うSwitch文
-
[解決済み] スイッチオンタイプ」これ以上の代案はないのでしょうか?
-
[解決済み】Swift。switchステートメントでクラスの型をテストする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み] スイッチオンタイプ」これ以上の代案はないのでしょうか?
-
[解決済み] このスイッチ/パターンマッチングの考え方にメリットはあるのでしょうか?