次の方法で共有


CodeClass.DocComment プロパティ

現在のコード モデル要素のドキュメント コメントを設定または取得します。

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

構文

'宣言
Property DocComment As String
string DocComment { get; set; }
property String^ DocComment {
    String^ get ();
    void set (String^ value);
}
abstract DocComment : string with get, set
function get DocComment () : String
function set DocComment (value : String)

プロパティ値

型 : System.String
特殊なドキュメント コメントまたは属性を含む文字列。

解説

DocComment は、Visual Basic および Visual C++ を、Visual C# とは異なる方法で処理します。Visual C# は、DocComment によって返された XML を <doc> タグで囲みますが、Visual Basic と Visual C++ は囲みません。たとえば、Visual Basic や Visual C++ が次を返します。

<summary>
</summary>
<value>
</value>

一方、Visual C# は次を返します。

<doc>
  <summary>
  </summary>
  <value>
  </value>
</doc>

結果として、プログラム言語を考慮し、結果の XML 処理をそれぞれ調整する必要があります。

DocComment は、コード内に特殊なドキュメント コメントや属性がある場合にそれを返します。コード モデルを実装している言語にドキュメント コメントの機構がない場合や、コード要素に関連付けられているドキュメント コメントがない場合、DocComment では空の文字列が返されます。

[!メモ]

特定の種類の編集を行った後に、クラス、構造体、関数、属性、デリゲートなどのコード モデル要素の値を決定できないことがあります。つまり、これらの要素の値は、信頼できる値ではなく、常に同じ値になるとは限りません。詳細については、「コード モデルを使用したコードの調査 (Visual Basic)」で、コード モデル要素値を変更する方法についての説明を参照してください。

Public Sub CodeClassExample(ByVal dte As DTE2) 
    ' Before running this example, open a code document from a
    ' project and place the insertion point inside a class definition.
    Try
        Dim objTextSel As TextSelection
        Dim objCodeCls As CodeClass
        Dim objCodeType As CodeType
        Dim objCMElem As vsCMElement
        objTextSel = CType(dte.ActiveDocument.Selection, TextSelection)
        objCodeCls = CType(objTextSel.ActivePoint.CodeElement _
          (vsCMElement.vsCMElementClass), CodeClass)
        ' Add DocComment to CodeClass objCodeClass.
        objCodeCls.DocComment = "<DOC>DocComment for the CodeClass _
          object</DOC>"
        MsgBox(objCodeCls.DocComment)
        ' Test if a CodeType object is obtainable from the CodeClass.
        If objCodeCls.IsCodeType Then
            ' We can cast the CodeClass to a CodeType
            objCodeType = CType(objCodeCls, CodeType)
        Else 
            ' The CodeClass object is not a CodeType but is
            ' some Kind of element
            objCMElem = objCodeCls.Kind
        End If
    Catch ex As Exception
        MsgBox.Show(ex.Message)
    End Try
End Sub
public void CodeClassExample(DTE2 dte)
{ 
   // Before running this example, open a code document from a
   // project and place the insertion point inside a class definition.
   try
   {
      TextSelection objTextSel;
      CodeClass objCodeCls;
      CodeType objCodeType;
      vsCMElement objCMElem;
      objTextSel = (TextSelection)dte.ActiveDocument.Selection;
      objCodeCls = (CodeClass)objTextSel.ActivePoint.get_CodeElement
        (vsCMElement.vsCMElementClass);
      // Add DocComment to CodeClass objCodeClass.
      objCodeCls.DocComment = "<DOC>DocComment for the CodeClass 
        object</DOC>";
      MessageBox.Show(objCodeCls.DocComment);
      // Test if a CodeType object is obtainable from the CodeClass.
      if (objCodeCls.IsCodeType)
      { // then we can cast the CodeClass to a CodeType
         objCodeType = (CodeType)objCodeCls;
      }
      else // the CodeClass object is not a CodeType but is
      {    // some Kind of element
         objCMElem = objCodeCls.Kind;
      }
   }
   catch (Exception ex)
   { 
      MessageBox.Show(ex.Message);
   }
}

.NET Framework セキュリティ

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

参照

関連項目

CodeClass インターフェイス

EnvDTE 名前空間

その他の技術情報

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

コード モデルを使用したコードの調査 (Visual Basic)

コード モデルを使用したコードの調査 (Visual C#)