Sdílet prostřednictvím


CodeElement2.ElementID – vlastnost

Hodnota, která jednoznačně identifikuje prvek získá. Není implementován v jazyce Visual C#.

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

'Deklarace
ReadOnly Property ElementID As String
    Get
string ElementID { get; }
property String^ ElementID {
    String^ get ();
}
abstract ElementID : string
function get ElementID () : String

Hodnota vlastnosti

Typ: System.String
Řetězec reprezentující jedinečnou hodnotu prvku.

Poznámky

ElementID Vlastnost je hodnota, které se vypočítá na základě název prvku a dalších informací, který jednoznačně identifikuje prvek. Přesný výpočet ID se liší mezi jazyky.

Toto ID je používán klienty modelu kódu můžete sledovat prvky bez zachování odkazy. Je součástí modelu kódu události informovat prvku, který mění kód klienta. Nové ID jsou poskytovány při jejich vytváření.

Hodnota ElementID Vlastnost měla považovat za trvalé. Je pravděpodobně změní při každém vytvoření projektu modelu kódu a také mohou změnit v aktuální relaci. ElementChanged Pokaždé, když dojde k události ElementID změny.

Poznámka

Nelze volat RenameSymbol nebo ElementID rozpoznání přetížené procedury s. (Například DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Musíte explicitně odevzdaných objektu CodeElement2 rozhraní před provedením volání.

Prvky kódu EnvDTE80 (dále jen kód * 2 objekty) odvozena od EnvDTE. (Například CodeClass2 pochází z CodeClass, a CodeElement2 pochází z CodeElement.) Interně v Visual Studio, všechny prvky kódu (v obou sestavení) zase přetypovat na CodeElement2. Logicky, je jako CodeClass2, například nakonec odvozuje z CodeElement2.

Protože dva prvky jsou ve skutečnosti ve dvou samostatných dědičnost hierarchií, ale latebinder nelze vyhledat CodeElement2 metod na kód * 2 objekty. EnvDTEfunguje v podstatě stejným způsobem, ale použití maker pre-processor umožňuje rozhraní definována tak, aby zděděné metody výslovně definována pro všechna související rozhraní, pro které existují převody. EnvDTE80 rozhraní jsou definována pomocí dědičnosti podobné schéma, pouze bez použití příkazů pre-processor. Toto je elegantnější řešení, protože eliminuje nadbytečné vlastnosti, ale výsledkem je, že vlastnosti nelze volat rozpoznání přetížené procedury s. Chcete-li tento problém vyřešit, explicitně odevzdaných objektu CodeElement2 rozhraní před provedením volání.

Hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále mohou být také-deterministický po provedení určité typy úprav, což znamená, že jejich hodnoty nelze dovolávat vždy zůstává stejné. Další informace naleznete v části Změna hodnoty prvku modelu kódu Discovering Code by Using the Code Model (Visual Basic).

Zabezpečení rozhraní .NET Framework

Viz také

Odkaz

CodeElement2 Rozhraní

EnvDTE80 – obor názvů

Další zdroje

How to: Compile and Run the Automation Object Model Code Examples

Discovering Code by Using the Code Model (Visual Basic)

Discovering Code by Using the Code Model (Visual C#)