私は、フラグ付きenum値のユーティリティ拡張メソッドを作成しようとしています。このメソッドの目的は、現在有効になっているすべてのフラグのリストを取得することです。ジェネリック医薬品は、以下に頼ら私が持っていたenum型では動作しないため、しかしEnumメソッドを使用して一般的なメソッドを制約するT
public static IEnumerable<T> GetFlags<T>(this T value) where T:Enum
{
return Enum.GetValues(typeof(T)).OfType<Enum>().Where(value.HasFlag).Cast<T>();
}
:
public static IEnumerable<T> GetFlags<T>(this Enum value)
{
return Enum.GetValues(typeof(T)).OfType<Enum>().Where(value.HasFlag).Cast<T>();
}
は、どのような方法があり、私がやりたいこと
このでしたこれを回避するには、メソッドが呼び出されるたびに型を宣言しなければならないと自分自身を辞めるべきですか?
http://stackoverflow.com/questions/1331739/enum-type-constraints-in-cの – SLaks
が重複する可能性(HTTP [誰でも列挙型の一般的な制約の欠如のために良い回避策を知っていますか?]: //stackoverflow.com/questions/7244/anyone-know-a-good-workaround-for-the-lack-of-an-enum-generic-constraint) – nawfal