Solution2.Item Method

Returns an indexed member of a Projects collection.

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

Syntax

'Declaration
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

Parameters

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

Return Value

Type: EnvDTE.Project
A Project object.

Implements

_Solution.Item(Object)

Remarks

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.

Examples

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)
    SolnItemExample(_applicationObject)
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.
    Try
        Dim soln As Solution2 = _
        CType(_applicationObject.Solution, Solution2)
        ' Dim solnName As String = _
         System.IO.Path.GetFileNameWithoutExtension(soln.FullName)
        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
        Next
        MsgBox(tempString)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    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.
    SolnItemExample((DTE2)_applicationObject);
}

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.
    try
    {
        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";
        }
        MessageBox.Show(tempString);
    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework Security

See Also

Reference

Solution2 Interface

EnvDTE80 Namespace