2012-03-19 10 views
8

Czy możliwe jest globalne dodanie deklaracji użycia do przestrzeni nazw?C# dodaj deklarację dla przestrzeni nazw do wszystkich klas

Na przykład chcę, aby wszystkie moje klasy w przestrzeni nazw "MyApp.Models" zawierały przestrzeń nazw System.Linq.Dynamic.

W asp.net możesz zrobić to dla widoku, dodając przestrzeń nazw w pliku web.config. Czy jest to również sposób na pliki klas?

+0

FYI - Użyłem mechansim web.config zbyt ale łamie jeśli używasz kodu źródłowego. Wrócisz do wystawiania ich dla każdej klasy! – n8wrl

Odpowiedz

10

Nie. Nie można dodać globalnej deklaracji do projektu C#. Musisz podać pełny zestaw using w każdym pliku .cs

+0

Chociaż obawiam się, że jest to prawda, nie chcę, aby to była poprawna odpowiedź! – Victor

+0

@Victor Niestety to, co powiedziałem, jest prawdziwe :(. VB.Net obsługuje pojęcie importu na poziomie projektu, ale C# nie ma wartości – JaredPar

+0

i co, jeśli wszystkie klasy były częściowe dla jednego z określonymi odwołaniami? – sasjaq

1

Nie wierzę, że jest to możliwe po wyjęciu z pudełka, ale możesz na pewno zautomatyzować za pomocą wtyczki Visual Studio lub wtyczki do narzędzia takiego jak Code Rush.

+0

Można również tworzyć/edytować szablony wizualnego studio, aby utworzone pliki .cs miały to (lub inne) używając instrukcji na górze, jeśli prawie zawsze chcesz tam, gdzie można to zrobić: – Servy

+0

można to zrobić za pomocą t4, ale lepszy pośpiech lub resharper to lepszy zakład. –

2

Niemożliwe jest robienie tego, co się chce dzięki oczywistej funkcjonalności, ale można utworzyć szablon, z którego generowane są klasy i robić to według przestrzeni nazw, szablony mogą obejmować użycie i to da pożądany efekt.

Można to zrobić z podstawowymi szablonami T4 lub coś w rodzaju resharper ma tę funkcję.

Jednak jest to trochę bezsensowne, wiele narzędzi zwiększających produktywność wprowadzi w życie instrukcje, których potrzebujesz, biorąc pod uwagę kod, który piszesz, resharper, a inni to robią, więc nie ma potrzeby używania szablonu, który to robi, ponieważ możesz się skończyć w każdej przestrzeni nazw, które nie używają deklaracji, musisz sam ją usunąć!

Naprawdę nie ma problemu z używaniem instrukcji, które są nieużywane z powodu jego po prostu bałaganu.

Ooh tylko w przypadku, gdy nie jesteśmy pewni co t4 szablonów jest here jest karabińczyk

Powiązane problemy