CodeAttribute2::Delete Method ()
Visual Studio 2015
Removes all attributes in the code element.
Assembly: EnvDTE80 (in EnvDTE80.dll)
This method deletes all of the attributes for the code element.
Note |
|---|
The values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic). |
The following example creates a new namespace and attribute in the current class, then deletes the attributes.
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 += "Added attribute, now deleting all attributes" + Environment.NewLine; MessageBox.Show(msg); cmAttribute.Delete(); } 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; }
Show:
