Asp.net 将网站项目更改为web应用程序项目时多态性被破坏
您好 我刚刚在VS2010中将一个ASP.NET网站项目转换为一个。在我运行应用程序之后,尽管我的类多态性似乎已经坏了。我不知道为什么会发生这种情况 因此,在下面的代码中,当我调用base.OnLoad(e)时,我在基类中得到了错误,因为变量myString为null。实际上,基类的所有变量都是null。我能行 base.myString=this.myString 以前 基础荷载(e) 但这对我来说似乎不是多态的Asp.net 将网站项目更改为web应用程序项目时多态性被破坏,asp.net,visual-studio-2010,polymorphism,Asp.net,Visual Studio 2010,Polymorphism,您好 我刚刚在VS2010中将一个ASP.NET网站项目转换为一个。在我运行应用程序之后,尽管我的类多态性似乎已经坏了。我不知道为什么会发生这种情况 因此,在下面的代码中,当我调用base.OnLoad(e)时,我在基类中得到了错误,因为变量myString为null。实际上,基类的所有变量都是null。我能行 base.myString=this.myString 以前 基础荷载(e) 但这对我来说似乎不是多态的 代码: public partial class FormA : Web.Cl
代码:
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)
}
}
看起来ClassB位于命名空间或另一个类的成员中。您的名称空间/作用域是否正确,因为我在将网站转换为web应用程序时遇到了类似的问题。有多大可能“…我的类多态性被破坏了”?您的代码中出现错误/误解的可能性会更大吗?也许是错误,但我所做的只是更改web项目类型。此代码在Web站点项目中运行良好。当我查看FormA.base时,所有变量都为null,如果这些类的代码没有更改,那么是什么导致这种情况发生的呢?啊,我想你可能已经把这一点搞定了。但我仍然感觉很好,因为我遇到了难题。在我的解决方案中,我有3个项目(3个独立的程序集),我的类B在类库中(namespace=“Lib”),类A在web项目中(默认namespace=“web”)。两个项目是否必须使用相同的命名空间?它可以是“Base.Lib”和“Base.Web”吗?