Propriedade CodeAttribute2.IsCodeType
Obtém se um objeto de CodeType pode ser obtido deste objeto.
Namespace: EnvDTE80
Assembly: EnvDTE80 (em EnvDTE80.dll)
Sintaxe
'Declaração
ReadOnly Property IsCodeType As Boolean
bool IsCodeType { get; }
property bool IsCodeType {
bool get ();
}
abstract IsCodeType : bool with get
function get IsCodeType () : boolean
Valor de propriedade
Tipo: Boolean
Um valor booliano que será se true um objeto de CodeType pode ser obtido, caso contrário retornará false.
Comentários
Retornará se o elemento de código é um tipo de código. Se for, então você pode consultar a interface (QI) ou convertê-la em um objeto de CodeType . Isso ocorre quando Kind é um dos seguintes valores de vsCMElement : vsCMElementClass, vsCMElementInterface, vsCMElementDelegate, vsCMElementStruct, ou vsCMElementEnum.
Dica
Os valores de código de modelagem elementos como classes, estruturas, funções, atributos, representantes, e assim por diante podem ser não determinísticas depois de fazer determinados tipos as edições do, o que significa que seus valores não podem ser confiáveis em para permanecer sempre os mesmos.Para obter mais informações, veja que os valores do elemento do modelo de código da seção podem ser alteradas em Descobrindo código usando o modelo de código (Visual Basic).
Exemplos
O exemplo a seguir cria uma nova namespace e atributo na classe atual e lista algumas das propriedades do atributo.
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;
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.
Consulte também
Referência
Outros recursos
Como compilar e executar os exemplos de código do modelo de objeto Automation