SORU
29 EKİM 2008, ÇARŞAMBA


Başka bir Kısmi Sınıf ile Kısmi Sınıf geçersiz kılma Varsayılan Kurucu

Bunun mümkün olduğunu sanmıyorum, ama eğer benim ihtiyacım var :)

Otomatik olarak oluşturulan proxy wsdl.exe komut satırından Visual Studio 2008 tarafından aracından dosya var.

Proxy çıkış kısmi sınıflar. Oluşturulan varsayılan kurucu geçersiz kılmak istiyorum. Otomatik olarak oluşturulan olduğundan kodunu değiştirmek istemiyorum.

Başka bir kısmi sınıf yapım ve varsayılan kurucuyu yeniden denedim, ama işe yaramıyor. Ben geçersiz kılma ve yeni anahtar kelimeler kullanarak denedim, ama bu işe yaramazsa.

Kısmi sınıfından, olabilir ama ben bu kaynak kodunu değiştirmek için yeni bir üst sınıfa noktasına olduğumu düşünüyor. Bunu yapmak için pek tercih etmem.

Herhangi bir fikir, çalışma alternatif yollarını, ya da kesmek?

//Auto-generated class
namespace MyNamespace {
   public partial class MyWebService : System.Web.Services.Protocols.SoapHttpClientProtocol {
      public MyWebService() {
         string myString = "auto-generated constructor";
         //other code...
      }
   }
}

//Manually created class in order to override the default constructor
namespace MyNamespace {
   public partial class MyWebService : System.Web.Services.Protocols.SoapHttpClientProtocol {
      public override MyWebService() { //this doesn't work
         string myString = "overridden constructor";
         //other code...
      }
   }
}

CEVAP
9 Ocak 2010, CUMARTESİ


Benzer bir sorunu, üretilen kodumu dbml dosyası (Seri-SQL dersleri usng) tarafından oluşturulan vardı.

Kısmi bir boşluk OnCreated adlı çağırır oluşturulan sınıf() yapıcısı sonunda.

Eğer oluşturulan sınıfı için önemli yapıcı şeyler tutmak istiyorsanız uzun lafın kısası, muhtemelen), sonra kısmi sınıf aşağıdakileri oluşturun

partial void OnCreated()
{
    // Do the extra stuff here;
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006