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
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.
Viz také
Odkaz
Další zdroje
How to: Compile and Run the Automation Object Model Code Examples