asp.net隐式变量

时间:2012-12-10 17:27:32

标签: c# asp.net implicit-conversion

我有2个类,共享10个属性中的9个。我试图做你在下面看到的,但在当前的上下文中不存在gc。我想知道是否有

     if (methodId == 2)
     {
         var gc = new LblPremium(id);

     }
     else
     {
         var gc = new LblIsoReport(id);
     }

     gc.Nbr = Nbr;

    if (method == 2) { gc.Location = "Location Identification: " + pvtData.Location; }
            ..
            ..

3 个答案:

答案 0 :(得分:1)

尝试:

var gc = (methodId == 2)? (LblBase)new LblPremium(id) : (LblBase)new LblIsoReport(id);

其中LblBaseLblPremiumLblIsoReport的基类。

答案 1 :(得分:0)

你在if和else代码块中声明了gc,所以它不存在于它们之外。

你也不能使用var变量,因为在编译时需要知道确切的类型。

答案 2 :(得分:-1)

var gc = new Object();

//程序开始......

switch (methodId)
{


case 1:

//what you want;

break;



case 2:
 gc = new LblPremium(id);
 gc.Location = "Location Identification: " + pvtData.Location;
 gc.Nbr = Nbr;
break;

default:
gc = new LblIsoReport(id);
gc.Nbr = Nbr;

break;

}