Özellik erişimcileri '<NotOverridable' özelliğinde 'accessmodifier>' olarak bildirilemez

Bir özellikteki NotOverridable Get Deyimi veya Set Deyimi anahtar sözcüğünü Private içerir.

Aşağıdaki mantık satırı, neden ve Private bir Özellik Deyiminde birleştirilemeyeceğini açıklarNotOverridable:

  1. Temel sınıf özelliğini veya yordamı geçersiz kılmayan bir özellik veya yordam varsayılan notOverridable ayarına sahiptir.

  2. Ancak, temel sınıf özelliğini veya yordamını geçersiz kılan türetilmiş bir sınıftaki bir özellik veya yordam, geçersiz kılınabilir varsayılan ayarına sahiptir. Geçersiz kılma hiyerarşisini sonlandırmak için bunu bildirebilirsiniz NotOverridable. bu, içinde kullanabileceğiniz NotOverridabletek bağlamdır. Yani, yalnızca Geçersiz Kılmalar ile birlikte kullanabilirsinizNotOverridable.

  3. Bir temel sınıf özelliği veya yordamı Özel olarak bildirilirse, türetilmiş bir sınıf erişemediği için bu özelliği veya yordamı geçersiz kılamaz. Bu nedenle, ile birlikte OverridablekullanamazsınızPrivate.

  4. Bir özelliği veya yordamı geçersiz kılmak için geçersiz kılma özelliği veya yordamının yalnızca aynı imzaya değil, aynı erişim düzeyine de sahip olması gerekir. Bu, geçersiz kılınabilir bir özellik veya yordam belirtemediği Privateiçin geçersiz kılma özelliğinin veya yordamının belirtemeyeceği Privateanlamına gelir.

  5. Yalnızca geçersiz kılınan bir özellik veya yordamda belirtebildiğiniz NotOverridable için, ile Privatebirleştiremezsiniz.

Aynı mantık gereği, geçersiz kılınan bir özelliğin tek tek özellik yordamları (Get ve Set) olamaz Private.

Hata Kimliği: BC31106

Bu hatayı düzeltmek için

  • veya deyiminden Get anahtar sözcüğünü kaldırın veya ve NotOverridable anahtar sözcüklerini deyiminden Property kaldırınOverrides.Set Private

Ayrıca bkz.