SORU
27 EYLÜL 2008, CUMARTESİ


C# Arabirimleri. Örtülü uygulanmasına karşı Açık bir uygulama

Ne arabirimleri uygulama farklılıkları vardırörtülü olarakveaçıkçaC#?

Örtülü kullanmalısınız ve açık kullanmalıyım?

Bir ya da diğer bir artıları ve/veya eksileri vardır?


Microsoft'un resmi kurallar (Framework Design Guidelines İlk Baskı) belirtiyoraçık uygulamaları kullanarak tavsiye edilmezkodu beklenmeyen davranışlar verir.

Bu kılavuz çok bencepre-IoC-zaman içinde geçerliservetim yokken , etrafta arabirimleri.

Kimse bu yönünü de dokunabilir?

CEVAP
27 EYLÜL 2008, CUMARTESİ


Örtülüne zaman sizin sınıfınızın bir üyesi ile arayüz tanımlayın.Açıkne zaman seni arayüz bir sınıf içinde yöntemler tanımlamak. Kulağa karışık geliyor ama ne demek istediğimi biliyorum: IList.CopyTo örtülü olarak uygulanan olabilir:

public void CopyTo(Array array, int index)
{
    throw new NotImplementedException();
}

ve açıkça gibi:

void ICollection.CopyTo(Array array, int index)
{
    throw new NotImplementedException();
}

Fark örtülü olarak sınıf üzerinden erişilebilir olduğundan emin olmak arabirimi olarak dökme olarak sınıf olarak döküm zaman oluşturduğunuz. Açık uygulama sadece arayüz olarak kendini döküm zaman erişilebilir olmasını sağlar.

MyClass myClass = new MyClass(); // Declared as concrete class
myclass.CopyTo //invalid with explicit
((IList)myClass).CopyTo //valid with explicit.

Açık öncelikle iki uygulamaları ihtiyacım olduğunda uygulama temiz tutmak, ya da için kullanıyorum. Ama ne olursa olsun ben nadiren kullanıyorum.

Diğerleri yayınlayacağız kullanmak/kullanmak için daha fazla sebep vardır eminim.

Her arkasında harika bir çıkarım için bu iş parçacığı next post bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • Top Gear

    Top Gear

    27 Mart 2006