2009-05-27 8 views

Odpowiedz

-1

Słyszałem skargi na ten temat, nie uważam, aby opcja ta mogła zostać zmieniona.

-1

Czy masz na myśli, że sama klasa nie jest dostępna w innych klasach? Czy masz na myśli, że cała zawartość pliku domyślnie ma prywatny dostęp?

Jeśli chcesz, aby klasa była widoczna w innych klasach, wystarczy upewnić się, że przestrzeń nazw jest widoczna w drugiej klasie (ze słowem kluczowym "using" w języku C# lub po prostu mieć je w tej samej przestrzeni nazw) .

Nie wiem w jakim języku mówisz, ale w języku C# wszystkie metody, zmienne składowe, właściwości itd. Domyślnie są prywatne. Jeśli chcesz, aby były one publiczne, musisz indywidualnie określić to dla każdego członka. Nie sądzę, że można zmienić to zachowanie w języku C#.

1

Istnieją inne problemy z domyślnymi szablonami kodów - na przykład nie są one zgodne z StyleCop po wyjęciu z pudełka, ponieważ "użyteczne" linie znajdują się poza deklaracją przestrzeni nazw.

Możesz użyć programu ReSharper do tworzenia plików klas z szablonów, umożliwiając umieszczenie dowolnego kodu w szablonie. To właśnie robię :)

11

Domyślnie klasa bez specyfikatora dostępu jest wewnętrzna, a element domyślnie jest prywatny. Dzięki temu widoczność jest ograniczona do minimum, a tym samym zwiększa hermetyzację.

Uświadomienie nowej klasy, nawet bez myślenia, łamie cały pomysł enkapsulacji.

Klasa szablon VS wykorzystuje do stworzenia nowej klasy można znaleźć w tym pliku zip (w przypadku CSharp):

C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ ItemTemplates \ CSharp \ 1033 \ Class.zip lub C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 przy użyciu VS Orcas

Otwórz plik zip, dodaj publiczne słowo kluczowe, zapisz to i gotowe. Za każdym razem, gdy dodasz klasę, będzie ona publiczna. Mam nadzieję że to pomoże.

Source

+0

Doh! jesteś zbyt szybki! –

+0

Zgoda, to było SZYBKO !!!! Dobra odpowiedź. – Skittles

+0

........ ;-) Dzięki – Shoban

-1

Nie sądzę, że można zmienić opcję w VS tak, że wszystkie klasy tworzone są domyślnie publiczne (ale będę na nią patrzeć.)

Myślę, że chyba że masz bardzo szczególną potrzebę, aby wszystkie twoje klasy zostały ogłoszone publicznie (i nie mogę o nich myśleć), że powinieneś pozostawić domyślne takie, jakie jest. Dzięki temu możesz decydować, które klasy są publiczne i które powinny pozostać wewnętrzne. Moim zdaniem, dobra opcja projektowania dyktuje, że klasy są domyślnie deklarowane jako "wewnętrzne".

Powiązane problemy