SORU
2 Temmuz 2009, PERŞEMBE


C# bir yıkıcı ve bir sınıfta bir Finalize yöntemi arasındaki fark nedir?

Eğer fark ise orada, bir yıkıcı ve bir sınıfta bir Finalize yöntemi arasındaki nedir?

Geçenlerde Visual Studio 2008 bir yıkıcı bir Finalize yöntemi ile eş anlamlı, Visual Studio, aynı anda bir sınıfta her iki yöntem tanımlamak izin vermiyor, yani gördüğü keşfetti.

Örneğin, aşağıdaki parça kodu:

class TestFinalize
{
    ~TestFinalize()
    {
        Finalize();
    }

    public bool Finalize()
    {
        return true;
    }
}

Verir yıkıcı Sonuçlandırmak için çağrıda aşağıdaki hata:

Çağrı aşağıdaki yöntemleri veya özellikleri arasındaki belirsiz: 'TestFinalize~.() TestFinalize' ve 'TestFinalize.() Finalize'

Ve eğer Sonuçlandırmak için çağrı diye, aşağıdaki hata verir:

Yazın 'ManagementConcepts.Hizmet.TestFinalize üye olarak düşünülebilir zaten 'Finalize' aynı parametre türleri ile

CEVAP
2 Temmuz 2009, PERŞEMBE


C bir yıkıcı# geçersiz kılar 2* *yöntemi. Sanagerekyıkıcı sözdizimi bunu yapmak için kullanın. Elle geçersiz kılma.

Finalize yöntem bildirimi yapmak için çalışıyor temelde 10* *temel sınıf yöntemi. Derleyici new değiştirici eğer işe yarayacak olsaydı () kullanarak susturmuş olabilir hangi bir uyarı vermek için neden olacaktır. Burada dikkat edilmesi gereken önemli şey buolamazhem bir yıkıcı ve Finalize bir yöntem olan ve bir hata neden olur yani 6* *ve aynı zamanda aynı adı taşıyan new üye ilan ediyorum (amaolabilirönerilmez , ancak, eğer bir yıkıcı bildirmek için değil public new void Finalize() bir metot).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • UKF

    UKF

    2 Aralık 2009