首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么非静态成员在静态上下文中的使用不会出现错误?

为什么非静态成员在静态上下文中的使用不会出现错误?
EN

Stack Overflow用户
提问于 2014-09-24 05:25:33
回答 1查看 49关注 0票数 0

下面是我对C#代码有疑问的部分。

代码语言:javascript
复制
class Program
{
    class DOB { int d, m, y; }
    int a;
    enum Month { jan, feb, mar };
    static void Main(string[] args)
    {
        a = 6;                      //Showing error
        DOB d = new DOB();   //DOB is not static; still no error.
        Month m = 0;     //Month is non static but not showing error(I know it cannot be static)
        Console.WriteLine(m);
        Console.ReadKey();
    }
}

变量(一个)的赋值显示错误,因为它是一个非静态成员。同时,道布和enum 类也是非静态的,但它不是时间误差。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 05:35:55

不能从静态类或方法访问实例成员。

aProgram的一个实例字段,因此在a = 6上会出现一个错误。

DOB d = new DOB()只需创建DOB类的一个新对象,并将其赋值给一个局部变量。

Month m = 0还创建了一个新的局部变量。

如果你写了

代码语言:javascript
复制
[...]
DOB d;
static void Main(string[] args)
{
    d = new DOB();

您将得到与a相同的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26009176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档