Не могу прочитать константу в экземпляре класса?

Я был слегка удивлен, когда компилятор пожаловался на это:

public class UsefulClass
{
    public const String RatingName = @"Ratings\rating";
}

public class OtherClass
{
    public void SomeFunc()
    {
        UsefulClass useful = new UsefulClass();
        String rating = useful.RatingName;
    }
}

Компилятор говорит: «К статическому члену нельзя получить доступ с помощью ссылки на экземпляр; вместо этого укажите его именем типа»

Это не проблема, String rating = UsefulClass.RatingName; работает нормально. Мне просто интересно, что за мышление стоит за этим? У меня есть экземпляр общедоступного класса с публичной константой, почему я не могу получить данные таким образом?

22
задан TomDestry 29 July 2011 в 00:39
поделиться