Project.CodeModel Property
Gets the CodeModel object for the project.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
ReadOnly Property CodeModel As CodeModel
CodeModel CodeModel { get; }
property CodeModel^ CodeModel {
CodeModel^ get ();
}
abstract CodeModel : CodeModel
function get CodeModel () : CodeModel
Property Value
Type: EnvDTE.CodeModel
A CodeModel object.
Remarks
The CodeModel object gives you project-level access to code elements or definitions in source files.
Examples
Public Sub CodeExample(ByVal dte As DTE2)
Try
' Open a project before running this sample.
Dim prj As Project = dte.Solution.Projects.Item(1)
Dim prjs As Projects
Dim msg2 As String = "Global Variables:"
Dim msg As String
msg = "FileName: " + prj.FileName
msg += vbCrLf + "FullName: " + prj.FullName
msg += vbCrLf + "Project-level access to " + prj.CodeModel.CodeElements.Count.ToString() + " CodeElements through the CodeModel"
prjs = prj.Collection
msg += vbCrLf + "There are " + prjs.Count.ToString() + " projects in the same collection."
msg += vbCrLf + "Application containing this project: " + prj.DTE.Name
If prj.Saved Then
msg += vbCrLf + "This project has not been modified since the last save."
Else
msg += vbCrLf + "This project has been modified since the last save."
End If
msg += vbCrLf + "Properties:"
Dim prop As [Property]
For Each prop In prj.Properties
msg += vbCrLf + " " + prop.Name
Next prop
Dim s As String
For Each s In CType(prj.Globals.VariableNames, Array)
msg2 += vbCrLf + " " + s
Next s
MessageBox.Show(msg, "Project Name: " + prj.Name)
MessageBox.Show(msg2)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
public void CodeExample(DTE2 dte)
{
try
{ // Open a project before running this sample.
Project prj = dte.Solution.Projects.Item(1);
Projects prjs;
string msg, msg2 = "Global Variables:";
msg = "FileName: " + prj.FileName;
msg += "\nFullName: " + prj.FullName;
msg += "\nProject-level access to " + prj.CodeModel.CodeElements.Count.ToString() +
" CodeElements through the CodeModel";
prjs = prj.Collection;
msg += "\nThere are " + prjs.Count.ToString() + " projects in the same collection.";
msg += "\nApplication containing this project: " + prj.DTE.Name;
if (prj.Saved)
msg += "\nThis project hasn't been modified since the last save.";
else
msg += "\nThis project has been modified since the last save.";
msg += "\nProperties: ";
foreach (Property prop in prj.Properties)
{
msg += "\n " + prop.Name;
}
foreach (String s in (Array)prj.Globals.VariableNames)
{
msg2 += "\n " + s;
}
MessageBox.Show(msg, "Project Name: " + prj.Name);
MessageBox.Show(msg2);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples