Próbowałem uaktualnić aplikację ASP.Net z Visual Studio 2005 do 2008, i próbowałem kompilować tylko po to, aby sprawdzić, czy się skompiluje i otrzymałem ten błąd.Błąd niespójnej dostępności
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
(usunąłem ścieżce klasy przed Web.Properties i Web.Ctrl, to zazwyczaj zawiera go)
kawałek kodu jego odsyłania jest
public Properties.UITitleSettings UISettings
{
get
{
return _uiSettings;
}
}
nie jestem dość pewnie, co ten błąd próbuje powiedzieć. Czy typ musi być rzutowany (nieprawidłowy rzut niejawny między dwoma niekompatybilnymi typami?) Lub czy jest to problem z pominięciem klasy?
+1 Dobry przykład. –
Oh ok, teraz dostaję o co chodzi w błędzie. Teraz większość tego kodu wygląda na wygenerowana przez edytor Visual Studio WYSIWYG, jak mam to naprawić? – tearman
Cokolwiek próbujesz zrobić w tym publicznym akcesorium, prawdopodobnie jest złe. Musisz zmienić UITitleSettings na 1) uczynić go publicznym typem 2) zamknąć go w publicznym typie 3) zrobić wszystko wewnątrz lub 4) refactor UITitleSettings poza obrazem i odsłonić jego poszczególne części jako właściwości dostarczające prymitywy (standardowe typy systemów) . Mnóstwo sposobów na zrobienie tego; po prostu wybierz taki, który nie jest taki, jak teraz. – Will