我的可访问性有问题吗?

本文关键字:有问题 访问 我的 | 更新日期: 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()