Ist faule Instanziierung über weniger Code verwenden, aber das gleiche Ergebnis erhalten? Sicher ist das im Allgemeinen eine gute Sache zu tun (vorausgesetzt, dass der Code zu kurz/effizient gemacht wird, beschädigt er die Lesbarkeit/Wartbarkeit nicht).Was ist faule Instanziierung
finden Sie in diese faul Instanziierung:
public sealed class Singleton
{
private Singleton()
{
}
public static Singleton Instance { get { return Nested.instance; } }
private class Nested
{
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Nested()
{
}
internal static readonly Singleton instance = new Singleton();
}
}
Es gibt kein Privateigentum von Instance
ist (ich weiß, es ist implizit) - ist es das, was sie faul macht - die Tatsache, dass wir einen Setter haben nicht innerhalb die public static Singleton Instance
Eigenschaft?
http://msdn.microsoft.com/en-us/library/dd997286.aspx – user981225
Warum benutzen Sie nicht ['Lazy'] (http://msdn.microsoft.com/en-us/ Bibliothek/dd642331.aspx)? Schau dir diesen Artikel an: [msdn: lazy initialization] (http://msdn.microsoft.com/en-us/library/dd997286.aspx) –
Ich habe das gelesen - das Problem ist, dass ich ohne Test nicht verstehe und bei der Arbeit sind wir nur auf .Net 2.0 (so kann ich nicht verwenden) - Fragen Sie nicht !! –
Dave