为什么我不能用'这个'。在C#中访问我的类常量?

时间:2011-04-05 14:31:14

标签: c# .net constants

在C#.NET中,为什么我不能使用'this'关键字访问类中的常量?

示例:

public class MyTest
{
    public const string HI = "Hello";

    public void TestMethod()
    {
        string filler;
        filler = this.HI; //Won't work.
        filler = HI       //Works.
    }
}

4 个答案:

答案 0 :(得分:14)

因为常量不是实例成员;他们是班级成员。 this关键字引用的是对象,而不是类,因此您不能使用它来引用类常量。

无论您是在类中的静态方法还是实例方法中访问常量,这都适用。

答案 1 :(得分:4)

常量隐含static

答案 2 :(得分:3)

因为常量是类的一部分,所以需要使用类名:

filler = MyTest.HI;

答案 3 :(得分:2)

const项是隐式静态的。这意味着它属于类而不是类的成员。