Jon Singleton Skeet açıklama | Netgez.com
SORU
31 Mart 2010, ÇARŞAMBA


Jon Singleton Skeet açıklama

public sealed class Singleton
{
    Singleton()
    {
    }

    public static Singleton Instance
    {
        get
        {
            return Nested.instance;
        }
    }

    class Nested
    {
        // Explicit static constructor to tell C# compiler
        // not to mark type as beforefieldinit
        static Nested()
        {
        }

        internal static readonly Singleton instance = new Singleton();
    }
}

C benim ÅŸimdiki uygulama Jon Skeet's Singleton pattern uygulamak istiyorum#.

Kod üzerinde iki şüphelerim var

  1. Nasıl bir iç içe geçmiş sınıf içinde sınıf dış erişim mümkün mü? Yani

    internal static readonly Singleton instance = new Singleton();
    

    Bir kapatma denir?

  2. Bu yorum alamadım

    // Explicit static constructor to tell C# compiler
    // not to mark type as beforefieldinit
    

    bu açıklama bize neyi gösteriyor?

CEVAP
31 Mart 2010, ÇARŞAMBA


  1. Hayır, bu kilitler ile hiçbir alakası yoktur. İç içe geçmiş bir sınıf özel kurucu burada da dahil olmak üzere dış sınıfın özel üyelerine erişim, vardır.

  2. Benim article on beforefieldinit okuyun. Olabilir ya da no-op statik yapıcı - tembellik ihtiyacınız garantisi bağlıdır istemeyebilirsiniz. Bilmelidir .4 changes the actual type initialization semantics somewhat (hala spec içinde, ama önce daha geçtikçe daha NET).

Yaparsıngerçektenbu model olsa gerek? Uzakta yapamazsın emin misin:

public sealed class Singleton
{
    private static readonly Singleton instance = new Singleton();
    public static Singleton Instance { get { return instance; } }

    static Singleton() {}
    private Singleton() {}
}

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • expertvillage

    expertvillag

    5 NİSAN 2006