2016-05-12 7 views
-1

Zum BeispielWie mache ich ein konstantes Objekt in C#?

class A 
{ 
    public const B b = new B(); // ??? error, expression being assigned must be constant 
} 

class B 
{ 
    public int i {get; set;} 
} 

Wie ein konstantes Objekt in C# machen?

+0

Die referenzierte doppelte Frage hat eine wirklich schlechte akzeptierte Antwort. – Adrian

Antwort

1

Die const bedeutet eine Kompilierzeitkonstante Wert daher ist es nicht möglich, AFAIK.

Wenn es Ihren Anforderungen entspricht, können Sie readonly (in Kombination mit static) Schlüsselwort statt const verwenden. In diesem Fall können Sie dieses Feld jedoch nicht als Standardwert für einen optionalen Parameter in einer Methode angeben.

Verwandte Themen