我的可访问性有问题吗?
本文关键字:有问题 访问 我的 | 更新日期: 2023-09-27 18:31:05
我遵循了教程并创建了一个通过访问级别向下传递变量的简单示例。
我有一个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
?
正如其他人所说,您需要调用createString()
方法。在你的第一个代码块(静态 void main)中,xstring
是一个变量。在createString()
方法中,它是一个参数。这些是不同的东西,给它们相同的名称不会自动为你调用该方法。(顺便说一下,您的参数xstring
几乎可以具有任何不同的名称,并且它的工作方式完全相同。
因此,为了使代码正常工作,您需要将变量xstring
作为参数传递给函数createString()
,如下所示:
static void main()
{
SecondClass b = new SecondClass();
b.x = 10;
string xstring = (b.x.ToString());
createString(xstring);
}
网站不执行您的Main()
方法,该方法仅适用于应用程序。就像@Marton所示,这段代码也不会调用createString()
。