新ネットコア3.0 / C#8.0(作業環境は、あなたのプロジェクトをアップグレードすることを可能にする場合)ショートハンドスイッチ文があることルックスやや列挙っぽいです。結局のところ、これは何年にもわたって使用してきた古い退屈なswitchステートメントと同じです。
ここでの唯一の本当の違いは、switchステートメントが新しいスーツを得たことです。
public static RGBColor FromRainbow(Rainbow colorBand) =>
colorBand switch
{
Rainbow.Red => new RGBColor(0xFF, 0x00, 0x00),
Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),
Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),
Rainbow.Green => new RGBColor(0x00, 0xFF, 0x00),
Rainbow.Blue => new RGBColor(0x00, 0x00, 0xFF),
Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),
Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),
_ => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
};
ここからコピーした上記のコードは、実際には列挙型をパラメーターとして使用しています。
それはあなたが望むものではありません(そして信頼してください、私は長い間OPが要求しているものに似たものを望んでいました)が、これは実際にはMSからのオリーブのブランチのようなものだと感じています。JMO。
それが誰かを助けることを願っています!