WIEN Tworzę nowy plik klasy, Visual Studio domyślnie nie upublicznia go. Czy mogę to zmienić?Dlaczego moje klasy są domyślnie prywatne w Visual Studio?
Odpowiedz
Słyszałem skargi na ten temat, nie uważam, aby opcja ta mogła zostać zmieniona.
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#.
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ę :)
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.
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".
- 1. Dlaczego program Visual Studio domyślnie nie tworzy klasy publicznej?
- 2. Dlaczego moje rozmiary okien WPF domyślnie są ogromne?
- 3. Dlaczego moje punkty przerwania duplikują się w Visual Studio?
- 4. Visual Studio: domyślnie rozwiń domyślne wyniki uzytkowania
- 5. Dlaczego moje definicje definicji Cucumber są niezdefiniowane w Android Studio
- 6. Dlaczego metody antlr3 C# parser są prywatne?
- 7. Sugestia klasy Visual Studio intellisense
- 8. Domyślnie Dostępność klasy w języku C#
- 9. Czy mogę śledzić tylko moje zadania TODO w Visual Studio?
- 10. Dlaczego moje właściwości CSS są nadpisywane/ignorowane?
- 11. Jakie są różnice między Visual Studio Code a Visual Studio?
- 12. Dlaczego intellisense Visual Studio pokazuje prywatnych członków i funkcje?
- 13. Jak mogę hostować moje prywatne repozytorium konda?
- 14. Dlaczego gniazda wykrywacza sygnałów są domyślnie silne
- 15. Jak domyślnie Visual Studio do projektów C# zamiast VB.NET?
- 16. dlaczego konstruktorzy domyślnie nie są jawni?
- 17. Prywatne zagnieżdżone klasy
- 18. Clojure, defn, defn-, publiczne/prywatne, domyślnie
- 19. Jak skonfigurować moje projekty/rozwiązania Visual Studio w Mercurial repozytorium?
- 20. Visual Studio 2012 w stanie znaleźć moje testy
- 21. Dlaczego moje wpisy kontekstmenu są małe?
- 22. Dlaczego moje widoki nie są rysowane?
- 23. dlaczego moje treści są wyświetlane poza div?
- 24. Dlaczego moje zasoby Rails są kompilowane dwukrotnie?
- 25. Dlaczego prywatne metody pomocnicze są nadal dostępne w widokach?
- 26. Dlaczego moje testy szyn są tak powolne?
- 27. Visual Studio 2008 - Czy mogę zmienić zakładkę "dodaj odwołanie" domyślnie?
- 28. Dlaczego typy szablonów typename nie są domyślnie rozpoznawane jako typy?
- 29. Generator diagramów klasy Visual Studio UML
- 30. Visual Studio 2008: Wyłącz weryfikację klasy css
Wygląda na to, że jest to dokładny duplikat http://stackoverflow.com/questions/39903/vs-net-defaults-to-private-class, a to pytanie ma również akceptowaną odpowiedź. –