Właściwość CodeElement2.ElementID —
Pobiera wartość, która jednoznacznie identyfikuje element.Nie zaimplementowane w środowisku Visual C#.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
ReadOnly Property ElementID As String
string ElementID { get; }
property String^ ElementID {
String^ get ();
}
abstract ElementID : string with get
function get ElementID () : String
Wartość właściwości
Typ: String
Ciągiem reprezentującym unikatową wartość dla elementu.
Uwagi
ElementID Właściwość jest to wartość, która jest obliczana na podstawie nazwy elementu i inne informacje, które unikatowo identyfikuje element.Dokładne obliczenie identyfikator waha się między językami.
Ten identyfikator jest używany przez klientów modelu kodu, aby śledzić elementy bez zachowania odwołania.Jest ona objęta modelu kodu zdarzenia poinformować kod klienta elementu, który jest zmieniany.Nowe identyfikatory są dostarczane podczas ich tworzenia.
Wartość ElementID właściwość, nie należy uznawać stały.Jest prawdopodobne zmienić każdorazowo modelu kodu jest tworzony dla projektu i mogą ulec zmianie w bieżącej sesji.ElementChanged Zdarzenie występuje za każdym razem ElementID zmiany.
[!UWAGA]
Nie można wywołać funkcji RenameSymbol lub ElementID latebound. (Na przykład: DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Trzeba jawnie oddać obiekt do CodeElement2 interfejsu przed transmisją.
Kod elementów w EnvDTE80 (zwany dalej kod * 2 obiekty) dziedziczyć te w EnvDTE. (Na przykład CodeClass2 wynika z CodeClass, i CodeElement2 wynika z CodeElement.) Wewnętrznie w Visual Studio, wszystkie elementy kodu (w obu zestawów) z kolei są rzutowane na CodeElement2.Tak, logicznie rzecz biorąc, to tak, jakby CodeClass2, na przykład, ostatecznie pochodzi z CodeElement2.
Ponieważ dwa elementy są w rzeczywistości w dwóch hierarchii dziedziczenia oddzielnych, chociaż, latebinder nie może wyszukać CodeElement2 metody na kod * 2 obiekty.EnvDTEProgram Works zasadniczo identyczne, ale korzystania z makr preprocesorem pozwala interfejsów do zdefiniowania takie, że metody dziedziczone są jawnie zdefiniowane na wszystkich interfejsach pokrewne, dla których istnieją konwersji.EnvDTE80interfejsy są definiowane przy użyciu podobnych schemat dziedziczenia, tylko bez użycia instrukcji Pre-procesor.Jest to rozwiązanie bardziej eleganckim, ponieważ eliminuje zbędne właściwości, ale wynik jest, że właściwości nie można wywołać metody ustalania.Aby obejść ten problem, należy jawnie rzutowane obiektu do CodeElement2 interfejsu przed transmisją.
Ponadto wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej mogą być deterministyczny, po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie mogą być powoływane do zawsze pozostają takie same.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odnajdowanie kodu za pomocą modelu kodu (Visual Basic).
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Inne zasoby
Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady