【问题标题】:Static fields question静态字段问题
【发布时间】:2009-11-29 14:12:30
【问题描述】:

我试图了解字段的 get 和 set 属性,并遇到了这个问题,有人可以向我解释为什么我必须将 int X 字段设为静态才能使其工作吗?

using System;

namespace ConsoleApplication1
{
    class Program
    {
        public static int X = 30;
        public static void Main()
        {
            var cX = new testme();
            cX.intX = 12;
            Console.WriteLine(cX.intX);
            cX.intX = X;
            Console.WriteLine(cX.intX);
            Console.ReadKey();
        }
    }
    class testme
    {
        public int intX
        {
            get;
            set;
        }
    }
}

【问题讨论】:

    标签: c# static get set field


    【解决方案1】:

    因为您在静态上下文中使用该字段,在本例中为方法 publicstaticvoid Main。由于您的 Program 类只是静态运行,因此没有实例,因此您无法访问任何实例成员。

    【讨论】:

      【解决方案2】:

      因为它是在静态方法中使用的

      【讨论】:

        【解决方案3】:

        由于Main 是静态的,因此您无法从其外部访问非静态实例。

        【讨论】:

        • 当然可以。可访问性和静态性彼此无关。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-15
        • 2021-12-08
        相关资源
        最近更新 更多