Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Metody dostępu właściwości nie mogą być deklarowane jako "<accessmodifier>" we właściwości "NotOverridable"

Instrukcja Get lub Set w NotOverridable właściwości zawiera Private słowo kluczowe .

W poniższym wierszu rozumowania wyjaśniono, dlaczego NotOverridable i Private nie można ich połączyć w instrukcji właściwości:

  1. Właściwość lub procedura, która nie zastępuje właściwości klasy bazowej lub procedury, ma domyślne ustawienie NotOverridable.

  2. Jednak właściwość lub procedura w klasie pochodnej, która zastępuje właściwość lub procedurę klasy bazowej, ma domyślne ustawienie Przesłonięcia. Aby zakończyć hierarchię zastępowania, możesz zadeklarować ją NotOverridable. Jest to jedyny kontekst, w którym można użyć polecenia NotOverridable. Oznacza to, że można używać NotOverridable tylko w połączeniu z przesłonięciami.

  3. Jeśli właściwość lub procedura klasy bazowej jest zadeklarowana jako Prywatna, klasa pochodna nie może zastąpić tej właściwości lub procedury, ponieważ nie może uzyskać do niej dostępu. W związku z tym nie można używać Private w połączeniu z Overridable.

  4. Aby zastąpić właściwość lub procedurę, zastępowanie właściwości lub procedury musi mieć nie tylko identyczny podpis, ale także ten sam poziom dostępu. Oznacza to, że właściwość lub procedura zastępowania nie może określić Privatewłaściwości , ponieważ nie można określić Privatewłaściwości lub procedury, którą można zastąpić.

  5. Ponieważ można określić NotOverridable tylko dla zastępowania właściwości lub procedury, nie można połączyć jej z Private.

Z tego samego powodu poszczególne procedury właściwości (Get i Set) właściwości zastępowania nie mogą mieć wartości Private.

Identyfikator błędu: BC31106

Aby poprawić ten błąd

  • Private Usuń słowo kluczowe z instrukcji Get or Set lub usuń Overrides słowa kluczowe i NotOverridable z instrukcji Property .

Zobacz też