| [System.Serializable] | 
| public class ConfusionSetting | 
| { | 
|     public ConfusionDirectoryInfo[] confusionDirectorys; | 
|   | 
|     private int BitPrivate = 1; | 
|     private int BitProtected = 2; | 
|     private int BitPublic = 4; | 
|   | 
|     public int confuseField = 1; | 
|     public int confuseMethod = 1; | 
|   | 
|     public ConfusionSetting() | 
|     { | 
|   | 
|     } | 
|   | 
|     public bool IsConfusePrivateField | 
|     { | 
|         get { return (confuseField & BitPrivate) == 1; } | 
|         set | 
|         { | 
|             confuseField = value ? confuseField | BitPrivate : confuseField & ~BitPrivate; | 
|         } | 
|     } | 
|   | 
|     public bool IsConfuseProtectedField | 
|     { | 
|         get { return ((confuseField & BitProtected) >> 1) == 1; } | 
|         set | 
|         { | 
|             confuseField = value ? confuseField | BitProtected : confuseField & ~BitProtected; | 
|         } | 
|     } | 
|   | 
|     public bool IsConfusePublicField | 
|     { | 
|         get { return ((confuseField & BitPublic) >> 2) == 1; } | 
|         set | 
|         { | 
|             confuseField = value ? confuseField | BitPublic : confuseField & ~BitPublic; | 
|         } | 
|     } | 
|   | 
|     public bool IsConfusePrivateMethod | 
|     { | 
|         get { return (confuseMethod & BitPrivate) == 1; } | 
|         set | 
|         { | 
|             confuseMethod = value ? confuseMethod | BitPrivate : confuseMethod & ~BitPrivate; | 
|         } | 
|     } | 
|   | 
|     public bool IsConfuseProtectedMethod | 
|     { | 
|         get { return ((confuseMethod & BitProtected) >> 1) == 1; } | 
|         set | 
|         { | 
|             confuseMethod = value ? confuseMethod | BitProtected : confuseMethod & ~BitProtected; | 
|         } | 
|     } | 
|   | 
|     public bool IsConfusePublicMethod | 
|     { | 
|         get { return ((confuseMethod & BitPublic) >> 2) == 1; } | 
|         set | 
|         { | 
|             confuseMethod = value ? confuseMethod | BitPublic : confuseMethod & ~BitPublic; | 
|         } | 
|     } | 
| } |