Praca z Visual C++ kod (Projektant klasy)
Klasa Projektant wyświetla wizualną powierzchni o nazwie diagram klasy , która zapewnia wizualną reprezentację elementów kodu do projektu.Diagramy klas umożliwia zaprojektowanie i zobrazowanie klas i innych typów w projekcie.
Projektant klasy obsługuje następujące elementy kodu C++:
Klasa (podobny do kształtu klasy zarządzanej, chyba że może mieć wiele relacji dziedziczenia)
Klasa anonimowy (Wyświetla widok klasy nazwa wygenerowana dla typ anonimowy)
Szablon klasy
Struct
Tekst stały
Makro (Wyświetla widok po obróbce makro)
Element TypeDef
[!UWAGA]
Nie jest taka sama, jak diagram klas UML, który można utworzyć w programie Project modelowania.Aby uzyskać więcej informacji, zobacz Diagramy klas UML: odwołania.
Rozwiązywanie problemów z typu rozdzielczości i problemy z wyświetlaniem
Lokalizacji plików źródłowych
Projektant klasy nie śledzić ilość lokalizacji plików źródłowych.W związku z tym w przypadku zmiany struktury projektu lub przenieść pliki źródłowe do projektu, Projektant klasy można stracić typu (zwłaszcza typ źródła aliasów, podstawowych klas lub typów association).Może być zgłaszany jest błąd, takie jak Class Designer is unable to display this type.Jeśli nie, przeciągnij kod źródłowy przeniesiono lub zmodyfikowany schemat klasy ponownie, aby wyświetlić je ponownie.
Aktualizacja i problemy z wydajnością
W przypadku projektów Visual C++ może zająć 30 do 60 sekund na zmiany w pliku źródłowym do stawienia się na diagramie klasy.Opóźnienie to może być również przyczyną Projektant klasy ma sygnalizować błąd No types were found in the selection.Jeśli pojawi się błąd, takie jak ten, kliknij przycisk anulowanie komunikat o błędzie i czekać na kod element w widoku klasy.Po wykonaniu tej czynności Projektant klasy powinny być w stanie wyświetlić typ.
Jeśli diagram klasy nie aktualizuje się ze zmianami dokonanymi w kodzie, może być konieczne do zamknięcia diagramu, a następnie otwórz go ponownie.
Problemy z rozpoznawaniem typu
Projektant klasy nie można rozwiązać z następujących powodów:
Typ jest w projekcie lub zestawu, który nie odwołuje się projekt, który zawiera schemat klasy.Aby poprawić ten błąd, należy dodać odwołanie do projektu lub zestawu, który zawiera tekst.Aby uzyskać więcej informacji, zobacz Jak: Dodawanie lub usuwanie odwołań przez za pomocą okna dialogowego Dodaj odwołanie.
Typ nie jest poprawny zakres, więc Projektant klasy nie można go zlokalizować.Upewnij się, że kod nie jest Brak using, imports, lub #include instrukcji.Upewnij się, że nie zostały przeniesione typu (lub powiązanego typu) z obszaru nazw, w którym został pierwotnie znajdował się również.
Typ nie istnieje lub została ujęta.Aby poprawić ten błąd, upewnij się, że nie wykomentowane lub usunięty typ.
Typ znajduje się w bibliotece przez dyrektywy #import.Jest możliwe obejście Aby ręcznie dodać wygenerowany kod (plik .tlh) # dyrektywy dołączania do pliku nagłówka.
Błąd najprawdopodobniej zobacz problem rozpoznawania typu jest Code could not be found for one or more shapes in class diagram '<element>'.Ten komunikat o błędzie nie musi oznaczać że kod jest w błąd.To wskazuje, że tylko Projektant tej klasy nie może wyświetlić swój kod.Spróbuj wykonać następujące działania.
Upewnij się, że istnieje typ.Upewnij się, że nie nieumyślnie wykomentowane lub usunąć kod źródłowy.
Należy się upewnić, że Projektant klasy obsługuje typu, które zostały wprowadzone.Zobacz ograniczenia dla elementów kodu C++.
Spróbuj rozwiązać typu.Typ może być w projekcie lub zestawu, który nie odwołuje się projekt, który zawiera schemat klasy.Aby poprawić ten błąd, należy dodać odwołanie do projektu lub zestawu, który zawiera tekst.Aby uzyskać więcej informacji, zobacz Jak: Dodawanie lub usuwanie odwołań przez za pomocą okna dialogowego Dodaj odwołanie.
Upewnij się, że typ jest poprawny zakres, tak, aby go zlokalizować klasy projektanta.Upewnij się, że kod nie jest Brak using, imports, lub #include instrukcji.Upewnij się, że nie zostały przeniesione typu (lub powiązanego typu) z obszaru nazw, w którym został pierwotnie znajdował się również.
Rozwiązywanie problemów z innych komunikatów o błędach
Pomoc w rozwiązywaniu problemów z błędami i ostrzeżeniami można znaleźć na forum publicznym Microsoft Developer Network (MSDN).Zobacz programu Visual Studio klasy Projektant Forum.
Ograniczenia dotyczące elementów kodu C++
Kiedy projekt Visual C++ jest załadowany, funkcji Projektant klasy w sposób tylko do odczytu.Można zmienić na diagramie klasy, ale nie można zapisać zmian z diagramu klasy powrót do kodu źródłowego.
Projektant klasy obsługuje tylko macierzystego semantyka języka C++.Dla projektów Visual C++, które są kompilowane do kodu zarządzanego Projektant klasy tylko wizualizować elementy kodu, które są typy macierzystym.W związku z tym, można dodać diagram klasy do projektu, ale Projektant klasy nie umożliwia wizualizację elementów, w którym IsManaged właściwość jest ustawiona na true (czyli typy wartości i odwołać typów).
W odniesieniu do projektów Visual C++ Projektant klasy odczytuje tylko definicji typu.Załóżmy, że zdefiniować typu w pliku nagłówka (.h) i określają jej członków w pliku implementacji (.cpp).Jeśli możesz wywołać "Wyświetlanie diagramu klas" w pliku implementacji (.cpp), Projektant klasy nic nie wyświetla.Inny przykład: Jeśli wywołać "Wyświetlanie diagramu klas" na plik .cpp, który używa #include instrukcję, aby dołączyć inne pliki, ale nie zawiera żadnych definicji klasy rzeczywiste, Projektant klasy znowu nic nie wyświetla.
Pliki IDL (.idl), które określa interfejsów COM oraz bibliotek typów, nie są wyświetlane w diagramach, o ile nie są kompilowane do kodu macierzystego C++.
Klasa Designer nie obsługuje funkcji globalnych i zmiennych.
Klasa Designer nie obsługuje związków.Jest to specjalny typ klasy, w której pamięć przydzielona jest niezbędne dla Unii największy członek danych Kwota.
Klasa projektant nie są wyświetlane typy danych podstawowych takich jak int i char.
Projektant klasy nie są wyświetlane typy, które są zdefiniowane poza bieżącym projekcie, jeśli projekt nie ma prawidłowego odwołania do tych typów.
Klasa Designer można wyświetlić zagnieżdżonych typów, ale nie relacje między typu zagnieżdżonego i innych typów.
Projektant klasy nie można wyświetlić typy, które są nieważne lub który pochodzi od typu void.
Zobacz też
Zadania
Dodatkowe informacje o błędach Projektant klasy
Koncepcje
Wizualne klas C++ w konstruktorze klasy
Visual C++ struktur Projektant klasy
Visual C++ wyliczeń w w konstruktorze klasy
Visual C++ definicje TypeDef, w konstruktorze klasy
Inne zasoby
Projektowanie i przeglądanie klas i typów
Praca z klas i innych typów (Projektant klasy)