ビット フィールド列挙


FlagsAttribute クラス
http://msdn.microsoft.com/ja-jp/library/system.flagsattribute(v=vs.110).aspx

ちなみに.NET 4.0以上はHasFlag メソッドがある
http://msdn.microsoft.com/ja-jp/library/system.enum.hasflag(v=vs.100).aspx

http://msdn.microsoft.com/ja-jp/library/system.enum.hasflag(v=vs.100).aspx

ArcGISの列挙は大体ビット付なので、判定時は注意

esriDrawPhase test = esriDrawPhase.esriDPAnnotation | esriDrawPhase.esriDPGeography;
esriDrawPhase test2 = esriDrawPhase.esriDPAnnotation | esriDrawPhase.esriDPSelection;

if (test == esriDrawPhase.esriDPGeography)
{
  Debug.Write("Not In");
}
//これは入ってくる
if ((test & esriDrawPhase.esriDPGeography) == esriDrawPhase.esriDPGeography)
{
    Debug.Write("TEST");
}
//これには入らない
if ((test2 & esriDrawPhase.esriDPGeography) == esriDrawPhase.esriDPGeography)
{
    Debug.Write("TEST2");
}
カテゴリー: 開発 タグ: パーマリンク