C# で 2 つの列挙の組み合わせを 3 番目の列挙にマップする最良の方法は何でしょうか?
基本的に、EnumerationA と EnumerationB を受け入れることができる静的メソッドを持つクラスが必要であり、そのメソッドまたはクラスには、X、Y の組み合わせに対して列挙が返すものに対する静的マッピングがあります。
誰か良い例はありますか?
C# で 2 つの列挙の組み合わせを 3 番目の列挙にマップする最良の方法は何でしょうか?
基本的に、EnumerationA と EnumerationB を受け入れることができる静的メソッドを持つクラスが必要であり、そのメソッドまたはクラスには、X、Y の組み合わせに対して列挙が返すものに対する静的マッピングがあります。
誰か良い例はありますか?
あなたの質問は本当に不明確ですが、ここであなたが望むものを推測してください。
public enum A { X, ... }
public enum B { Y, Z, ... }
public enum C { Cat, Dog, ... }
private static readonly Dictionary<Tuple<A, B>, C> lookup =
new Dictionary<Tuple<A, B>, C>
{
{ Tuple.Create(A.X, B.Y), C.Cat },
{ Tuple.Create(A.X, B.Z), C.Dog },
...etc...
};
public static C Lookup(A a, B b)
{
return lookup[Tuple.Create(a, b)];
}
Enumerable.Concatはあなたが望むものではありませんか?
ドキュメントには C# の例が含まれています (その他のものも含まれています)。