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

  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • DavidParody

    DavidParody

    17 EKİM 2009
  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007