SORU
5 EKİM 2008, Pazar


Operatör C ile Aşırı yükleme# Uzatma Yöntemleri

Uzatma yöntemleri C# StringBuilder sınıfa eğer bir aşırı yük eklemek için kullanın bulmaya çalışıyorum. Özellikle, StringBuilder sb, sb = "text" sb.Append("text") eşdeğer olmak istiyorum verilmiştir.

İşte StringBuilder için bir uzantısı yöntemi oluşturmak için: sözdizimi

public static class sbExtensions
{
    public static StringBuilder blah(this StringBuilder sb)
    {
        return sb;
    }
} 

Başarılı StringBuilder blah uzatma yöntemi ekler.

Ne yazık ki, operatör yükleme çalışmak için görünmüyor:

public static class sbExtensions
{
    public static StringBuilder operator  (this StringBuilder sb, string s)
    {
        return sb.Append(s);
    }
} 

Diğer başlıklar arasında, 12* *anahtar kelime bu bağlamda izin verilmez.

Olan uzatma yöntemleri mümkün) operatörü aşırı yükleme ekleme? Eğer öyleyse, bu konuda gitmek için doğru yolu nedir?

CEVAP
5 EKİM 2008, Pazar


Bu uzatma yöntemleri statik derslerinde olmalı, çünkü şu anda mümkün değildir, ve statik sınıflar operatör aşırı yükleme var.

C Mads Torgersen# Dili PM diyor ki:

...Orcas serbest bırakmak için karar verdik ihtiyatlı yaklaşımı ve Ekle al sadece normal uzatma yöntemleri, genişleme özellikleri karşı, olaylar, operatörler, statik yöntemler, vb vb. Normal uzatma yöntemleri biz vardı ETMENİZ için ne gerekli bir sözdizimsel minimal tasarım kolayca bazı taklit olamazdı diğer üye çeşit.

Giderek daha duyarlı hale geliyoruz uzatma üyelerinin diğer türlü geri döneceğiz çok yararlı olabilir ... Orcas sonra bu sorun için. Hayır garanti olsa da!

Düzenleme:

Ben sadece fark, Mads daha fazla same article yazdı:

Biz bu rapor için özür dilerim bir sonraki sürümde bunu. Biz uzantısı üyeleri çok aldın planlarımız içinde ciddi ve harcanan çaba onları almaya çalışırken bir sürü doğru, ama alamadık sonunda o kadar pürüzsüz ve karar vermek diğer ilginç özellikler.

Bu hala gelecek için almıştık. serbest bırakır. Eğer alırsak ne yardım eder. zorlayıcı senaryolar iyi bir miktar doğru tasarım sürücü yardımcı olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Google

    Google

    18 EYLÜL 2005
  • Pituvision

    Pituvision

    11 Mart 2006