Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将网站项目更改为web应用程序项目时多态性被破坏_Asp.net_Visual Studio 2010_Polymorphism - Fatal编程技术网

Asp.net 将网站项目更改为web应用程序项目时多态性被破坏

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

您好

我刚刚在VS2010中将一个ASP.NET网站项目转换为一个。在我运行应用程序之后,尽管我的类多态性似乎已经坏了。我不知道为什么会发生这种情况

因此,在下面的代码中,当我调用base.OnLoad(e)时,我在基类中得到了错误,因为变量myString为null。实际上,基类的所有变量都是null。我能行

base.myString=this.myString

以前

基础荷载(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)
    }
}

看起来ClassB位于命名空间或另一个类的成员中。您的名称空间/作用域是否正确,因为我在将网站转换为web应用程序时遇到了类似的问题。

有多大可能“…我的类多态性被破坏了”?您的代码中出现错误/误解的可能性会更大吗?也许是错误,但我所做的只是更改web项目类型。此代码在Web站点项目中运行良好。当我查看FormA.base时,所有变量都为null,如果这些类的代码没有更改,那么是什么导致这种情况发生的呢?啊,我想你可能已经把这一点搞定了。但我仍然感觉很好,因为我遇到了难题。在我的解决方案中,我有3个项目(3个独立的程序集),我的类B在类库中(namespace=“Lib”),类A在web项目中(默认namespace=“web”)。两个项目是否必须使用相同的命名空间?它可以是“Base.Lib”和“Base.Web”吗?