En Java je peux écrire:Quel est le C# équivalent de public final statique en Java
public final static MyClass foo = new MyClass("foo");
Y at-il équivalent en C#?
En Java je peux écrire:Quel est le C# équivalent de public final statique en Java
public final static MyClass foo = new MyClass("foo");
Y at-il équivalent en C#?
La chose la plus proche (pas exactement la même chose, final
has other meanings aussi) pour les champs Java final
je peux penser est readonly
:
public static readonly MyClass field = new MyClass("foo");
Si vous avez un type primitif (string, int, boolean), vous pouvez vouloir utiliser const
à la place.
public const string MAGIC_STRING = "Foo";
sealed class finalClass
{
...
}
C'est pour un * classe * - c'est un * champ *. –
mon mauvais, il est donc – Steve
Pour les champs, ils sont * presque * exactement la même chose. Il y a différentes règles autour de l'initialisation (non pertinentes ici) et pour certaines fois les champs 'final' en Java agissent comme des champs' const' en C#, mais dans ce cas je pense qu'ils sont effectivement équivalents. –
Merci beaucoup - c'est ce dont j'avais besoin –
note que pour les types primitifs il y a aussi "const". –