2010-10-24 54 views
0

问候打破,多态性改变网站项目时,Web应用程序项目

我只是在2010年VS转换的ASP.NET网站项目的Web Application Project我运行该应用程序后,虽然似乎我的课多态性爆发。我不知道为什么会出现这种情况。

因此在下面的代码中,当我调用base.OnLoad(e)时,由于变量myString为null,所以在基类中出现错误。实际上,Base类的所有变量均为null。我能做

base.myString = this.myString;

之前

base.OnLoad(E);

但这似乎不是多态对我来说。


代码:

public partial class FormA : Web.ClassB 
{ 
    protected override void OnLoad(EventArgs e) 
    { 
     myString = "TEST"; 

     base.OnLoad(e); 
    } 
} 

public class ClassB 
{ 
    protected String myString; 

    protected override void OnLoad(EventArgs e) 
    { 
     // Class C has a virtual OnLoad method (not shown here) 
    } 
} 
+4

“......我的类多态性破裂”的可能性有多大?代码中的错误/误解似乎更可能? – 2010-10-24 01:21:19

+0

也许这是一个错误,但我确实是改变了Web项目类型。此代码在网站项目中运行良好。当我查看FormA.base时,所有变量都是空的,如果这些类的代码没有改变,会发生什么情况? – Sephrial 2010-10-24 01:38:51

回答

1

看起来ClassB的是在一个命名空间或其他类的成员。你有没有你的命名空间/范围正确,因为我遇到了类似将网站转换为网络应用程序的问题。

+0

啊,我想你可能已经把这个钉在了头上。但我仍然感觉很好,卡住了dillema。在我的解决方案中,我有3个项目(3个独立程序集),而我的类B位于类库(namespace =“Lib”)中,类A位于Web项目中(默认namespace =“Web”)。我是否必须为两个项目使用相同的命名空间?它可以是“Base.Lib”和“Base.Web”吗? – Sephrial 2010-10-25 14:38:44

相关问题