get语句里面的if语句不执行(C#),不能读取别的类中函数

在一个用户控件类里面,开头定义了private static bool ini = false;
类里面写了下面的函数
bool ICommand.Enabled
{
get
{
if (ini == false)
{
initCmbTarget();//后面写的一个函数,在函数的开顶让ini=true
}
//this.Enabled = 数据检查.StartEditCmd.EditStatus;
//return 数据检查.StartEditCmd.EditStatus;
return true;

}
}

有两个问题
1、现在get里面的if不执行,如果没有if那么initCmbTarget()函数就循环的执行了
2、我写了另一个类StartEditCmd,是工具条里的一个按钮,开头定义了public static bool EditStatus =false;然后在Click事件结尾让EditStatus=true;可是点击了StartEditCmd之后前面的
//this.Enabled = 数据检查.StartEditCmd.EditStatus;
//return 数据检查.StartEditCmd.EditStatus;
读取的还是EditStatus =false