CodeElement2.ElementID – vlastnost
Hodnota, která jednoznačně identifikuje prvek získá.Není implementováno v aplikaci Visual C#.
Obor názvů: EnvDTE80
Sestavení: EnvDTE80 (v EnvDTE80.dll)
Syntaxe
'Deklarace
ReadOnly Property ElementID As String
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 jiné informace, 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 k dispozici při jejich vytváření.
Hodnota ElementID vlastnost nelze považovat trvalé.Je pravděpodobné, že změní při každém modelu kódu pro projekt 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 před provedením volání rozhraní.
Kód prvků v EnvDTE80 (dále jen kód * 2 objekty) odvozena od EnvDTE.(Například CodeClass2 je odvozen z CodeClass, a CodeElement2 je odvozen z CodeElement.) Interně v Visual Studio, jsou 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 hierarchie, však latebinder nelze vyhledat CodeElement2 metod na kód * 2 objekty.EnvDTEve všech souvisejících rozhraní, pro které existují převody jsou výslovně definována funguje v podstatě stejným způsobem, ale použití maker pre-processor umožňuje definovat, aby zděděné metody rozhraní. 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 odstraňuje redundantní 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 před provedením volání rozhraní.
Hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále mohou být také, není 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 Zjištění kódu pomocí kódu modelu (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é
Referenční dokumentace
Další zdroje
Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu