C # - const
это то же самое, что и Java final
, за исключением того, что это абсолютно всегда static
. На мой взгляд, не обязательно, чтобы const
переменная была ненулевой static
, но если вам нужен const
не- static
единственный доступ к переменной , вы можете сделать:
class MyClass
{
private const int myLowercase_Private_Const_Int = 0;
public const int MyUppercase_Public_Const_Int = 0;
/*
You can have the `private const int` lowercase
and the `public int` Uppercase:
*/
public int MyLowercase_Private_Const_Int
{
get
{
return MyClass.myLowercase_Private_Const_Int;
}
}
/*
Or you can have the `public const int` uppercase
and the `public int` slighly altered
(i.e. an underscore preceding the name):
*/
public int _MyUppercase_Public_Const_Int
{
get
{
return MyClass.MyUppercase_Public_Const_Int;
}
}
/*
Or you can have the `public const int` uppercase
and get the `public int` with a 'Get' method:
*/
public int Get_MyUppercase_Public_Const_Int()
{
return MyClass.MyUppercase_Public_Const_Int;
}
}
Что ж, теперь я понимаю, что этот вопрос задавался 4 года назад, но, поскольку я потратил около 2 часов работы, состоящей из попыток различных способов ответа и форматирования кода, в этот ответ, я все еще публикую его. :)
Но, к сведению, я все еще чувствую себя немного глупо.