SORU
22 Ocak 2010, Cuma


Neden'içeren t C# arabirimleri alanlar?

Örneğin, ICar Bir Arayüz istiyorum ve tüm uygulamaları alanı içerir varsayalım Year. Bu her uygulama ayrı ayrı Year bildirmek zorunda olduğu anlamına mı geliyor? Sadece arayüzü bu tanımlamak için daha iyi olmaz mı?

CEVAP
22 Ocak 2010, Cuma


Diğer cevapların çoğunu anlamsal düzeyde doğru olsa da, ilginç bir de uygulama ayrıntıları seviyesinden sorular bu tür bir yaklaşım buluyorum.

Bir arabirim bir koleksiyon olarak düşünülebiliryuvalarıiçeren ., ^em>yöntemleri. Bir sınıf bir arabirim uygulayan, sınıf, gerekli tüm yuvaları doldurmak için nasıl bir çalışma zamanı anlatmak için gereklidir. Derken

interface IFoo { void M(); } 
class Foo : IFoo { public void M() { ... } }

sınıfı "bana bir örneğini oluşturduğunuzda, Foo başvurusu şeyler söylüyor.İFoo için yuvaya M.M.

Bir arama yaptığınızda o zaman:

IFoo ifoo = new Foo();
ifoo.M();

derleyici "yöntemi İFoo için.yuvasına ne nesne sor diyor kod oluşturur M, ve bu yöntemi çağırın.

Eğer bir arayüz bir toplama yuvası içeren yöntemler, daha sonra bazı bu yuva da içeren get ve set yöntemleri bir özellik, get ve set yöntemleri bir dizin, Ekle ve kaldır yöntemleri bir olay. Amabir alana bir yöntem değildir. "Sonra "" alanı için referans bir konuma sahip. bilgilendirebilirsin bir alan ile ilgili "yuvası yok Ve bu nedenle, arabirimleri, yöntemleri, özellikleri, dizin oluşturucular ve olaylar, ancak alanları tanımlayabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • Phymec

    Phymec

    18 Temmuz 2009
  • The Onion

    The Onion

    14 Mart 2006