我知道標題有誤導性,但我無法想象這個問題會更好。我有一個程序顯示一個表單,允許用戶從其他程序中選擇運行。然後我試圖創建一些通用代碼來調用表單。不確定沒有重複代碼的最佳方法。這是我想要做的;初始化並調用常用表格
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