【问题标题】:I can't reach static class field from instance variable [duplicate]我无法从实例变量中访问静态类字段 [重复]
【发布时间】:2019-03-12 22:55:17
【问题描述】:

我想知道我无法从实例变量访问静态类字段

    class aa
    {
        public static string b = "bb";
    }

    Console.WriteLine(aa.b); //fine
    aa f = new aa();
    f.b //error

为什么?我做错了吗?

【问题讨论】:

  • 我认为 Java 等其他语言允许这样做,但 C# 不支持。
  • 是的。静态方法和属性只能从类型访问,而不是类的实例。因此,静态方法无法访问非静态属性或方法

标签: c#


【解决方案1】:

在外部你可以通过ClassName.StaticVariable得到一个静态字段,但在类内部它类似于其他实例变量。这是因为静态变量属于类,而不是特定实例。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
相关资源
最近更新 更多