3 Stimmen

vom Compiler ignorierte private Code-Behind-Methoden - ASP.NET

Wenn eine Code-Behind-Methode als privat deklariert wird (z. B. ein Event-Handler), wird sie vom Compiler ignoriert und ausgegeben:

"Compiler-Fehlermeldung: CS1061: 'ASP.default_aspx' enthält keine Definition für 'OnLoginUser' und es konnte keine Erweiterungsmethode 'OnLoginUser' gefunden werden, die ein erstes Argument vom Typ 'ASP.default_aspx' akzeptiert (fehlt eine using-Direktive oder ein Assembly-Verweis?)"

In der Praxis existiert OnLoginUsed, und wenn der Bezeichner in "public" geändert wird \protected " funktioniert alles bestens.

Die Frage ist, warum es nicht möglich ist, eine solche Methode als privat zu deklarieren, schließlich wird sie intern von anderen Mitgliedern der Klasse aufgerufen.

10x!

9voto

Robin Day Punkte 97662

Ihre ASPX-Seite ist nicht die gleiche Klasse wie Ihr Code hinter der Seite. Sie erbt sie und kann daher die privaten Mitglieder nicht sehen. Aus diesem Grund müssen sie geschützt oder öffentlich sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X