2013-01-05 12 views
5

Czy istnieje sposób, aby Visual Studio stworzył mój interfejs "publiczny"? Na przykład kliknij prawym przyciskiem myszy folder -> utwórz nowy element -> kod -> interfejs.Domyślny interfejs ustaw w C#

Po utworzeniu pliku nie ma modyfikatorów dostępu.

interface IMyInterface 
{ 

} 

Czy istnieje sposób na wyrejestrowanie go w celu upublicznienia?

Zawsze zapominam, aby ręcznie zmienić je na publiczne (gdy muszą być).

+0

Nie sądzę, ponieważ jedną z głównych zasad programowania jest hermetyzacja. Teraz, jeśli wszystko będzie publiczne, zasada ta nie ma już sensu. Moim zdaniem powinieneś lepiej napisać kod. – jAC

+1

możliwy duplikat [Jak domyślnie nowa klasa jest publiczna podczas tworzenia jej w Visual Studio?] (Http://stackoverflow.com/questions/700086/how-do-you-default-a-new-class-to -publiczne-kiedy-tworzące-to-w-wizualnym-studiu). Zauważ, że ten link zawiera odpowiedź opisującą sposób modyfikacji tego zachowania. – slugster

+0

@JanesAbouChleih Zauważ, że powiedziałem, "kiedy muszą być" Nie ustawiam wszystkiego na publiczną. To byłoby głupie :) – Anonymous

Odpowiedz

5

Otwórz swój projekt za pomocą publicznego interfejsu IMyInterface pokazanego powyżej.

Przejdź do File > Export Template.

wykonaj czynności (należy wybrać artykuł szablon zamiast szablon projektu) i zapisać go pod wybraną nazwą.

Po ponownym uruchomieniu Visual Studio i otwartego projektu będzie on dostępny w oknie dialogowym dodawania pozycji. Będziesz mógł ustawić nazwę interfejsu w oknie dialogowym, tak jak możesz z innymi przedmiotami.

Należy zauważyć, że nie spowoduje to zastąpienia domyślnego szablonu interfejsu zainstalowanego w Visual Studio, więc nadal można łatwo utworzyć prywatny interfejs, gdy jest to wymagane.

+0

Dzięki! Trzeba to docenić. – Anonymous

+0

Tylko jeden szczegół: typ (podobnie jak interfejs), który nie jest zagnieżdżony wewnątrz jakiejś "klasy" lub "struct", nie może być "prywatny" (jak go nazywacie). Ponieważ "prywatny" oznacza "dostępny tylko dla innych członków tej samej klasy/struktury", a ten interfejs nie jest członkiem żadnej klasy/struktury. W rzeczywistości w przypadku typów bez zagnieżdżenia jedynymi opcjami są "public" i "internal" (te ostatnie są domyślnym poziomem dostępu). Nadal dobra odpowiedź na temat modyfikowania szablonów Visual Studio. –

+0

Tak, masz całkowitą rację. Dziękuję za wyjaśnienie. –

1

Można również utworzyć fragment kodu dla interfejsów publicznych, takich jak ten:

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippets 
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
<CodeSnippet Format="1.0.0"> 
    <Header> 
     <Title>public interface</Title> 
    </Header> 
    <Snippet> 
     <Code Language="csharp"> 
      <![CDATA[ 
    public interface IMyInterface 
     { 
      } 
    ]]> 
     </Code> 
    </Snippet> 
</CodeSnippet> 

i zapisać go jako publicinterfacecsharp.snippet. Następnie przejdź do Narzędzia -> Menedżer fragmentów kodu ...
Wybierz język jako C# i folder Moje fragmenty kodu, a następnie kliknij przycisk Importuj ... i wskaż lokalizację, w której zapisałeś fragment. Teraz w dowolnym nowym projekcie możesz kliknąć prawym przyciskiem myszy w oknie edytora i wybrać Wstaw fragment kodu -> Moje fragmenty kodu -> publicinterfacecsharp.