Je réalise que nous ne pouvons pas avoir d'indexeurs statiques en C#. Mais pourquoi le code ci-dessous compile-t-il correctement (sous C# 4.0)?L'indexeur statique C# ne doit pas être compilé, mais
Puisque Fred est une classe statique, elle ne peut même pas être instanciée. L'indexeur statique déclaré n'a aucun sens mais le compilateur le permet. Pourquoi? Je ne peux pas imaginer que c'est un bug de compilateur aussi tard dans la langue.
public static class Fred {
public static int this[String str] {
get {
if (str != null)
return str.Length;
return -1;
}
}
}
Ne pas compiler pour moi dans 4.0 . –
"'Fred.this [chaîne]': ne peut pas déclarer les indexeurs dans une classe statique" et "Le modificateur 'static' n'est pas valide pour cet élément". – sisve