Sdílet prostřednictvím


CodeAttribute2.IsCodeType – vlastnost

Získá zda CodeType objektu lze získat z tohoto objektu.

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

Syntaxe

'Deklarace
ReadOnly Property IsCodeType As Boolean
bool IsCodeType { get; }
property bool IsCodeType {
    bool get ();
}
abstract IsCodeType : bool with get
function get IsCodeType () : boolean

Hodnota vlastnosti

Typ: Boolean
Logická hodnota, která je true -li CodeType objektu lze získat, jinak vrátí false.

Poznámky

Vrátí, zda je prvek kód zadejte kód.Pokud je pak můžete dotaz rozhraní (QI) nebo jej přetypujte CodeType objektu.This is true when Kind is one of the following vsCMElement values: vsCMElementClass, vsCMElementInterface, vsCMElementDelegate, vsCMElementStruct, or vsCMElementEnum.

[!POZNÁMKA]

Není deterministický může být po provedení určité typy úprav, což znamená, že jejich hodnoty nelze dovolávat vždy zůstat stejné hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále.Další informace naleznete v části Změna hodnoty prvků modelu kód Zjišťování kódu pomocí modelu kódu (Visual Basic).

Příklady

Následující příklad vytvoří nový obor názvů a atribut v aktuální třídy a jsou uvedeny některé vlastnosti atributu.

public void CreateClassAndAttrib(DTE2 applicationObject)
{
    // Before running, load or create a project.
    FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
    CodeAttribute2 cmAttribute;
    CodeClass2 cmClass;
    String msg = null;

    if (fcm2 != null)
    {
        CodeNamespace cmNamespace;
        // Try to create a new namespace.
        try
        {
            cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
            // If successful, create the other code elements.
            if (cmNamespace != null)
            {
                cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass", 
                -1, null, null, vsCMAccess.vsCMAccessPrivate);
                cmAttribute = (CodeAttribute2)cmClass.AddAttribute
                ("NewAttribute", "AttributeValue", -1);
                msg += "InfoLocation: " + cmAttribute.InfoLocation + 
                Environment.NewLine;
                msg += "IsCodeType?: " + cmAttribute.IsCodeType + 
                Environment.NewLine;
                msg += "Kind: " + cmAttribute.Kind + 
                Environment.NewLine;
                MessageBox.Show(msg);                       
            }
            else
            {
                MessageBox.Show("Cannot continue - no filecodemodel 
                available.");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("ERROR: " + ex);
        }
    }
}

public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
    // Returns the FileCodeModel object of the active 
    // window.
    TextWindow txtWin = 
    (TextWindow)applicationObject.ActiveWindow.Object;
    FileCodeModel2 fcm2;
    if (txtWin != null)
    {
        try
        {
             fcm2 = (FileCodeModel2)txtWin.Parent.
             ProjectItem.FileCodeModel;
             return fcm2;
        }
        catch (Exception ex)
        {
             MessageBox.Show("ERROR: " + ex);
             return null;
        }
    }
    else
        return null;
}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

CodeAttribute2 Rozhraní

EnvDTE80 – obor názvů

Další zdroje

Postupy: Kompilace a spuštění příkladů kódu objektu automatizace

Zjišťování kódu pomocí modelu kódu (Visual Basic)

Zjišťování kódu pomocí modelu kódu (Visual C#)