[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; } } }