2011-01-18 12 views
7

A class diagramDlaczego program Visual Studio oznaczył moją klasę jako składnik?

Mam kopię wkleiłem niektóre klasy do tego projektu, niektóre z innych projektów. W pewnym momencie VS zaznaczył Class1 jako komponent (widać to z ikony pokazanej na powyższym zrzucie ekranu). Class2 jest OK. Nie ma różnicy w właściwościach pliku i bez ciekawą różnicę w kodzie między Class1 i Class2 (* z wyjątkiem zobaczyć zmienił poniżej)

nie zatrzymuje kod z kompilacji lub uruchomiony. Czy to w ogóle problem? Jest to niewygodne, ponieważ IDE próbuje otworzyć okno projektu, jeśli dwukrotnie klikniesz plik.

Jak to się dzieje i jak je naprawić?

Edytuj: Rzeczywiście, istnieją interesujące różnice w oknie kodu. Przynajmniej musi być, ponieważ usunięcie dużej części kodu powoduje, że program Solution Explorer przywraca plik do pliku Class. Przywróć porcję, a plik powraca do statusu Komponent. Aktualnie ... dochodzenie.

Odpowiedz

12

Nie jestem pewien, dlaczego to robi, ale wiem, jak się go pozbyć. Przed zajęciami:

[System.ComponentModel.DesignerCategory("Code")] 

Powinno działać.

+0

działa! dzięki. – hawbsl

+0

Musisz mieć cały kwalifikator obecny w atrybucie (jak wspomniano powyżej), nawet jeśli masz instrukcję using dla System.ComponentModel. –

3

Dla „dlaczego” części pytania (wzięte z this post który wydaje się być duplikat):

klasie z System.ComponentModel.Component na swojej drodze dziedziczenia są automatycznie traktowane jako „składniki” w Visual Studio (2008), uruchamiając inną ikonę dla pliku źródłowego:

Powiązane problemy