Aracılığıyla paylaş


CodeElement2.ElementID Özellik

Öğeyi benzersiz olarak tanımlayan bir değer alır. Visual C# [NULL]'ta uygulanmadı.

Ad alanı:  EnvDTE80
Derleme:  EnvDTE80 (EnvDTE80.dll içinde)

Sözdizimi

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

Özellik Değeri

Tür: System.String
Öğe benzersiz değeri temsil eden bir dize.

Açıklamalar

ElementID Özelliği ise hesaplanan değeri temel öğe adı ve diğer bilgileri benzersiz olarak tanıtan öğe. Kimliği tam hesaplanması diller arasında değişir.

Bu kimlik, öğeleri başvuruları korumadan izlemek için kod modeli istemciler tarafından kullanılır. İstemci kodu değiştirilirken öğenin bilgilendirmek için kod modeli olayları dahil. Yeni kimlikler, oluşturuldukları sırada sağlanır.

Değeri ElementID özelliği yok sayılacağı kalıcı. Kod modeli, bir proje için oluşturulan ve geçerli oturumda da değişebilir her zaman değiştirme olasılığı yüksektir. Bir ElementChanged olayı oluşur her zaman ElementID değişiklikler.

Not

Çağrı yapamazsınız RenameSymbol veya ElementID geç. (Örneğin, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Nesneye açıkça dönüştürmelisiniz CodeElement2 arabirim yapmadan önceçağrısı.

Öğeler kod EnvDTE80 (bundan sonra kod adlı * 2 nesne) olanlar türetilmeli EnvDTE. (Örneğin, CodeClass2 dan türeyen CodeClass, ve CodeElement2 dan türeyen CodeElement.) Dahili olarak, Visual Studio, (her iki derleme) gelen tüm code öðelerini sırayla için artığını CodeElement2. Bu nedenle, mantıksal olarak, olduğu gibi CodeClass2, örneğin, sonuçta türeyen dan CodeElement2.

İki öğe iki ayrı miras hiyerarşileri gerçekte olduğundan, yine de latebinder Ara olamaz CodeElement2 yöntemleri kodunda * 2 nesneleri. EnvDTEworks temelde aynı şekilde, ancak pre-processor makro kullanımını sağlayan yöntemleri miras şekilde tanımlanması arabirimler için dönüşümleri mevcut ilgili arabirimlerinin tümünü açıkça tanımlanır. EnvDTE80 arabirimleri yalnızca kullanmadan bir benzer devralma düzeni kullanılarak tanımlanırpre-processor ifadeleri. Yedekli özellikleri ortadan kaldırır, ancak özellikleri geç çağrılamaz sonucudur bu yana daha zarif bir çözüm olur. Bu soruna geçici bir çözüm için açıkça nesnesine artığını CodeElement2 arabirim yapmadan önceçağrısı.

Ayrıca, sınıflar, yapılar, işlevleri, öznitelikleri, Temsilciler ve benzeri gibi kod modeli öğeleri değerleri düzenlemeleri değerlerine bağlı her zaman aynı kalmasını dayanıyordu olamaz, diğer bir deyişle, belirli türde yaptıktan sonra deterministic olmayan olabilir. Daha fazla bilgi için bkz: kod modeli öğe değerlerini de değiştirebilirsiniz bölüm Kod modeli (@) kullanarak kodu keşfetme.

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

CodeElement2 Arabirim

EnvDTE80 Ad Alanı

Diğer Kaynaklar

Nasıl Yapılır: derlemek ve otomasyon nesne modeli kod örnekleri çalıştırma

Kod modeli (@) kullanarak kodu keşfetme

Kod modeli (Visual C#) kullanarak kodu keşfetme