次の方法で共有


Solution2.Properties プロパティ

Solution2 オブジェクトに属するすべてのプロパティのコレクションを取得します。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
ReadOnly Property Properties As Properties
Properties Properties { get; }
property Properties^ Properties {
    Properties^ get ();
}
abstract Properties : Properties with get
function get Properties () : Properties

プロパティ値

型 : Properties
Properties コレクション。

解説

一部のプロパティは、_Solution のオートメーション プロパティとして公開されます。また、ビルド依存の SolutionBuild など、ソリューションを通じて取得するオブジェクトから公開されるプロパティもあります。

このアドイン コードの実行方法については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

開いているソリューションのプロパティをすべて表示する例を次に示します。

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)
    PropertiesExample(_applicationObject)
End Sub

Sub PropertiesExample(ByVal dte As DTE2)
    ' This add-in lists all the properties for a solution.
    ' Open a solution 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 props As Properties = soln.Properties
        Dim prop As [Property]
        Dim msg As String = _
        solnName & " has the following properties:" & vbCrLf & vbCrLf
        For Each prop In props
            msg &= prop.Name & " = "
           Try
                msg &= prop.Value.ToString() & vbCrLf
           Catch
                msg &= "(Nothing)" & vbCrLf
            End Try
        Next
        MsgBox(msg)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
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.
    ProjectExample((DTE2)_applicationObject);
}

public void ProjectExample(DTE2 dte)
{
    // This add-in displays the properties in a solution. 
    // Open a solution in 
    // Visual Studio before running this example.
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        string solnName = 
System.IO.Path.GetFileNameWithoutExtension(soln.FullName);
        Properties props = soln.Properties;
        string msg = solnName + " has the following properties:\n\n";
        foreach (Property prop in props)
        {
            msg += prop.Name + " = ";
            try
            {
                msg += prop.Value.ToString() + "\n";
            }
            catch
            {
                msg += "(Nothing)\n";
            }
        }
        MessageBox.Show(msg);
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

Solution2 インターフェイス

EnvDTE80 名前空間

その他の技術情報

方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する