Ich habe versucht, eine ASP.Net-Anwendung von Visual Studio 2005 auf 2008 zu aktualisieren, und ich habe versucht zu kompilieren, nur um zu überprüfen, dass es kompilieren würde und ich diesen Fehler empfing.Inkonsistenter Accessibility Fehler
Error 1 Inconsistent accessibility: property type 'Web.Properties.UITitleSettings' is less accessible than property 'Web.Ctrl.BasePanel.UISettings' \\projectLocation\Ctrl\BasePanel.cs 25 43 ProjectName
(Ich entfernte den Klassenpfad vor Web.Properties und Web.Ctrl, enthält es normalerweise)
Das Stück Code seiner Referenzierung
public Properties.UITitleSettings UISettings
{
get
{
return _uiSettings;
}
}
ist bin ich nicht ganz Sicher, was dieser Fehler versucht zu sagen. Muss der Typ umgesetzt werden (ungültige implizite Umwandlung zwischen zwei inkompatiblen Typen?) Oder handelt es sich um ein Klassenüberschreibungsproblem?
+1 Schönes Beispiel. –
Oh ok, jetzt verstehe ich, worum es bei dem Fehler geht. Nun sieht ein Großteil dieses Codes so aus, als wäre er vom Visual Studio WYSIWYG-Editor erstellt worden. Wie würde ich das beheben? – tearman
Was auch immer Sie in diesem öffentlichen Accessor versuchen, ist wahrscheinlich falsch. Sie müssen UITitleSettings entweder umgestalten 1) es zu einem öffentlichen Typ machen 2) es in einen öffentlichen Typ kapseln 3) alles intern machen oder 4) UITitleSettings aus dem Bild umstrukturieren und seine einzelnen Teile als Eigenschaften darstellen, die Primitive liefern (Standard-Systemtypen) . Viele Möglichkeiten, es zu tun; wählen Sie einfach eine, die nicht so ist, wie Sie es jetzt tun. – Will