static void Main(string[] args) { FriendlyEnum friendlyValue = FriendlyEnum.A; EnemyEnum enemyValue = EnemyEnum.A; // Outputs "true": Console.WriteLine(friendlyValue.In(FriendlyEnum.A, FriendlyEnum.C)); // Outputs "false": Console.WriteLine(friendlyValue.In(FriendlyEnum.B, FriendlyEnum.C)); // Both of these will result in compiler errors, // because EnemyEnum is invading: Console.WriteLine(friendlyValue.In(EnemyEnum.A, EnemyEnum.B)); Console.WriteLine(enemyValue.In(FriendlyEnum.A, FriendlyEnum.B)); }
public static bool In(this FriendlyEnum value, params FriendlyEnum[] list) { return(list.Contains(value)); }