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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
参照
関連項目
その他の技術情報
方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する