我已经按照教程创建了一个简单的示例,通过访问级别向下传递变量。
我有一个Response.Write()
来尝试显示我通过派生类传递的字符串。
代码编译并且Visual Studio没有错误,但是当我运行应用程序(ASP.NET Web应用程序)时,页面上没有显示任何内容。
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public class FirstClass
{
protected int x;
}
public class SecondClass : FirstClass
{
static void main()
{
SecondClass b = new SecondClass();
b.x = 10;
string xstring = (b.x.ToString());
}
}
private void createString(string xstring)
{
Response.Write(xstring);
}
}
这是访问级别的问题吗?或者我没有正确地将xstring
传递给createString()
吗?
或者代码是否也可能起作用,但xstring
某种程度上是null
?
答案 0 :(得分:0)
网站不会执行您的Main()
方法,仅适用于应用程序。和@Marton indicates一样,此代码也不会调用createString()
。
答案 1 :(得分:0)
正如其他人所说,您需要调用createString()
方法。在您的第一个代码块(static void main)中,xstring
是变量。在createString()
方法中,它是参数。这些是不同的东西,给它们相同的名称不会自动为您调用该方法。 (顺便提一下,您的参数 xstring
几乎可以有任何不同的名称,它的工作原理完全相同。)
因此,为了使您的代码有效,您需要将变量xstring
作为参数传递给函数createString()
,如下所示:
static void main()
{
SecondClass b = new SecondClass();
b.x = 10;
string xstring = (b.x.ToString());
createString(xstring);
}