2010-04-13 14 views

Antwort

12

Nun, es ist eine Kompilierung-Konstante - so, wenn Sie es von anderen Baugruppen verwenden, „Ereignis“ wird in die kopiert werden IL für diese anderen Versammlungen. Ob das Cross-Assembly interfiziert wird oder nicht, hängt von einer CLR-Einstellung IIRC ab.

Wenn Sie jedoch besorgt sind, ob Sie eine neue Zeichenfolge oder ein neues String-Variable für jede Instanz von MyClass bekommen, brauchen Sie sich keine Sorgen machen - const implizieren static.

Kurz gesagt, es sei denn, Sie haben riesige, riesige Bündel Konstanten (oder enorme String-Konstanten), es wird kein Problem verursachen.

+1

Ich denke, diese Wikipedia-Seite für [Oxymoron] (http://en.wikipedia.org/wiki/Oxymoron) sollte hier zurück zeigen ... (Jon mit IIRC ... es ist wie Chuck Norris fragt sich, ob er bekommen kann Schauen Sie [hier] (http://meta.stackexchange.com/a/9182/237379) nach anderen Jon Fakten ... :) – Noctis

+0

Hey @Jon Skeet, - "const impliziert statisch." bedeutet conatant is Standardmäßig werden statische und einzelne Kopien der konstanten Variablen für verschiedene Objekte erzeugt. ? – vimalraturi

+1

@vimalraturi: Es bedeutet, dass es ein einzelnes Feld gibt, unabhängig von der Anzahl der Instanzen, auch wenn es keine gibt. –