Solution2.Item Method

Returns an indexed member of a Projects collection.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)


Function Item ( _
    index As Object _
) As Project
Project Item(
    Object index
Project^ Item(
    [InAttribute] Object^ index
abstract Item : 
        index:Object -> Project 
function Item(
    index : Object
) : Project


  • index
    Type: System.Object
    Required. The index of the item to return.

Return Value

Type: EnvDTE.Project
A Project object.




The value passed to Index is an integer that is an index to an object in its collection. The value of Index can also be a string value that equates to an object in the collection. The exact value that is accepted by Item, though, depends upon the collection and its implementation.

The Item method throws a ArgumentException exception if the collection cannot find the object that corresponds to the index value.


For information on how to run this add-in code, see How to: Compile and Run the Automation Object Model Code Examples.

The following example iterates through the projects in an open solution.

Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
End Sub

Sub SolnItemExample(ByVal dte As DTE2)
    ' This add-in iterates through project items in a  solution.
    ' Make sure you have a solution open in Visual 
    ' Studio before running this example.
        Dim soln As Solution2 = _
        CType(_applicationObject.Solution, Solution2)
        ' Dim solnName As String = _
        Dim tempString As String = "The items in the solution are: "  _
        & vbCr
        For i As Integer = 1 To soln.Projects.Count
            tempString = tempString & soln.Item(i).Name.ToString()  _
            & vbCr
    Catch ex As System.Exception
    End Try
End Sub
//make sure to add this reference to your project references
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.

public void SolnItemExample(DTE2 dte)
    // This add-in iterates through the project items in a solution.
    // Open a solution in Visual Studio before running 
    // this example.
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String tempString = "The items in the solution are: " + "\n";
        for (int i = 1; i <= soln.Projects.Count; i++)
            tempString = tempString + soln.Item(i).Name.ToString() 
+ "\n";
    catch (SystemException ex)
        MessageBox.Show("ERROR: " + ex);

.NET Framework Security

See Also


Solution2 Interface

EnvDTE80 Namespace