我的可访问性有问题吗?

时间:2014-11-20 11:35:55

标签: c# asp.net

我已经按照教程创建了一个简单的示例,通过访问级别向下传递变量。

我有一个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

2 个答案:

答案 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);
    }