我知道标题有误导性,但我无法想象这个问题会更好。我有一个程序显示一个表单,允许用户从其他程序中选择运行。然后我试图创建一些通用代码来调用表单。不确定没有重复代码的最佳方法。这是我想要做的;初始化并调用常用表格
TaxYearForm loTaxYear = new TaxYearForm();
var loTaxProgram = new BaseForm();
if (loTaxYear.ShowDialog() == DialogResult.OK)
{
string lsTaxModule = loTaxYear.gsTaxModule.ToUpper();
int lnTaxYear = loTaxYear.gnPrimaryFilter;
switch (lsTaxModule)
{
case "RE":
RealEstateForm loTaxProgram = new RealEstateForm();
break;
case "PC":
PerCapitaForm loTaxProgram = new PerCapitaForm();
break;
}
loTaxProgram.gsUserId = gsUserId;
loTaxProgram.gnPrimaryFilter = lnTaxYear;
loTaxProgram.gnSecurityLevel = gnSecurityLevel;
loTaxProgram.ShowDialog();
我不能这样做,因为在switch语句中,我重新使用了变量loTaxProgram。我可以将所有代码放入每个case语句中,但这是我想要避免的。我在类中创建了一个方法,但是由于我不得不声明参数为BaseForm,所以出现了同样的问题。
就是这样。谢谢。 – ggrewe1959 2012-08-10 13:28:21