Neu in .Net Core 3.0 / C # 8.0 (wenn Ihre Arbeitsumgebung es Ihnen ermöglicht, Ihr Projekt zu aktualisieren) ist eine kurze switch-Anweisung, die etwas aufzählend aussieht. Letztendlich ist es die gleiche langweilige Switch-Anweisung, die wir seit Jahren verwenden.
Der einzige wirkliche Unterschied besteht darin, dass die switch-Anweisung einen neuen Anzug bekommen hat.
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)),
};
Sie werden feststellen, dass der Code, über den ich von hier kopiert habe , tatsächlich eine Aufzählung als Parameter verwendet.
Es ist nicht genau das, was Sie wollen (und vertrauen Sie mir, ich wollte schon seit langer Zeit etwas Ähnliches wie das OP), aber ich habe tatsächlich das Gefühl, dass dies ein Olivenzweig von MS ist. JMO.
Hoffe es hilft jemandem!