Pourquoi je ne peux pas initialiser readonly variables dans un initialiseur?

Pourquoi je ne peux pas initialiser readonly variables dans un initialiseur?
Le suivant ne fonctionne pas comme il devrait:

class Foo
{
    public readonly int bar;
}

new Foo { bar=0; }; //does not work

Est-ce en raison de certaines limites techniques de la CLR?

MODIFIER

Je sais que new Foo { bar=0; } est le même que new Foo().bar=0;, mais est "readonly" appliquées par le CLR, ou est-ce juste une limitation de compilateur?

À la suite de votre dernière modification, je n'ai aucune idée de ce que vous demandez. Oui, readonly est appliquée au moment de l'exécution par le CLR. Je ne vois pas comment il pourrait en être une limitation de compilateur. Les autres réponses expliquer pourquoi ce que vous essayez de faire n'a aucun sens.
Gris de restriction de langue, pas de limitation de compilateur. Le compilateur juste implémente la langue.
Euh, j'ai dit "je ne vois pas comment il pourrait en être une limitation de compilateur." Je suis d'accord avec vous.

OriginalL'auteur codymanix | 2010-12-16