Problem z poziomem dostępu

Problem z poziomem dostępu
MivS
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:90
0

Witam serdecznie. Podczas tworzenia klasy natknąłem się na taki problem:

title

Niestety kiedy zmienię dostępność na private później nie mogę się do niej dostać:

title

Proszę o pomoc :)

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
0

Ponieważ musisz zrobić public class, a nie private class. :)

edytowany 1x, ostatnio: grzesiek51114
JU
  • Rejestracja:około 22 lata
  • Ostatnio:2 miesiące
  • Postów:5042
1

Jeśli nie wiesz, o co chodzi @grzesiek51114, to:
Klasa DataSource jest prywatna.
Pole madata w klasie DataPlace masz publiczne. Czyli próbujesz upublicznić coś, co jest prywatne (DataSource). Musisz posłużyć się tu jakimś interfejsem albo zmienić widoczność klasy DataSource na public.

grzesiek51114
grzesiek51114
No... i to samo napisałem :)
JU
Nie, napisałeś poprawną odpowiedź, ale ja zadając to pytanie, nie ogarnąłbym o co Ci chodzi. Przecież "nie mam nigdzie private class" ;) Więc możliwe, że pytacz też nie wiedział :) Przy okazji wyjaśniłem, dlaczego tak jest i podałem alternatywne rozwiązanie z interfejsem ;)
grzesiek51114
grzesiek51114
;)
neves
  • Rejestracja:prawie 22 lata
  • Ostatnio:dzień
  • Lokalizacja:Kraków
  • Postów:1114
2
grzesiek51114 napisał(a):

Ponieważ musisz zrobić public class, a nie private class. :)

Juhas napisał(a):

Klasa DataSource jest prywatna.

Taaaa ja nie wiem gdzie wy widzieliście prywatne klasy bezpośrednio w przestrzeni nazw w c#, nie istnieje takie coś :P
Elementy zdefiniowane bezpośrednio w przestrzeni nazw mogą mieć modyfikatory dostępu public lub internal, gdzie domyślnym jest internal.


grzesiek51114
grzesiek51114
@neves: a kurde, bo to przez te screeny zamiast normalnie wpisanego kodu. Ta metoda Main też świetna. Już wcześniej napisałem, że musi być statyczna po czym dopiero jak się przyjrzałem bliżej to zajarzyłem o co w ogóle chodzi i usunąłem to zdanie hehe.
JU
  • Rejestracja:około 22 lata
  • Ostatnio:2 miesiące
  • Postów:5042
0

Zgadza się. Babol. Domyślny modyfikator dostępu dla klas i struktur to internal. Dla metod i innych składników klas/struktur, to private. Co to oznacza dla pytacza? Że klasa DataSource nie jest prywatna, tylko internal. Ale reszta mojej odpowiedzi się zgadza :)

MivS
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:90
0

Ahh.. Faktycznie dałem private class... Dzięki za szybką odp. Człowiek całe życie sie uczy :D Pozdrawiam wszystkich.

edytowany 1x, ostatnio: MivS

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.