C# const
est exactement la même chose que la méthode Java final
sauf que c'est absolument toujours static
. À mon avis, il n'est pas vraiment nécessaire pour un const
variable à être non static
mais si vous avez besoin d'accéder à une const
variable non static
-ly, vous pouvez le faire :
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;
}
}
Je me rends compte que cette question a été posée il y a 4 ans, mais comme j'ai mis environ 2 heures de travail, consistant à essayer toutes sortes de façons différentes de répondre et de formater le code, dans cette réponse, je la poste quand même :)
Mais, pour info, je me sens toujours un peu bête.