■86903 / ) |
フラグを操作するジェネリックメソッドを作る方法 |
□投稿者/ MTK (32回)-(2018/04/02(Mon) 16:12:15)
|
分類:[C#]
お世話になります。
クラスAの現在の状態を管理するため、管理用の変数を作ってフラグによるビット演算を行っています。
下記は現在の状態です
------------------ フラグデータクラス ------------------
// クラスA用のフラグ
[Flags]
public enum FlagEnumA
{
Zero = 0,
Visible = 1,
Enable = 1 << 1,
Save = 1 << 2
}
------------------ フラグ操作クラス ------------------
// 指定されたフラグを加算するメソッド
public static void AddFlag(ref FlagEnumA flag, FlagEnumA state)
{
flag = flag | state;
}
この状態で、新たにクラスBの状態を管理する必要が出てきました。
そこでクラスB用の FlagEnumB を作り、フラグ操作クラスにある AddFlag メソッドをジェネリックにしようと考えています。
しかしこのままジェネリックにすると制約がないため flag = flag | state の部分でエラーが出てしまいます。
Whereを加えることで制約を付けることができるとあったのですが、この場合はどのような制約をかければ対応ができるのでしょうか?
|
|