CodeCommentStatement 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 CodeCommentStatement 类的新实例。
重载
CodeCommentStatement() |
初始化 CodeCommentStatement 类的新实例。 |
CodeCommentStatement(CodeComment) |
使用指定的注释初始化 CodeCommentStatement 类的新实例。 |
CodeCommentStatement(String) |
使用指定文本作为内容来初始化 CodeCommentStatement 类的新实例。 |
CodeCommentStatement(String, Boolean) |
使用指定的文本和文档注释标志初始化 CodeCommentStatement 类的新实例。 |
CodeCommentStatement()
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
初始化 CodeCommentStatement 类的新实例。
public:
CodeCommentStatement();
public CodeCommentStatement ();
Public Sub New ()
适用于
CodeCommentStatement(CodeComment)
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
使用指定的注释初始化 CodeCommentStatement 类的新实例。
public:
CodeCommentStatement(System::CodeDom::CodeComment ^ comment);
public CodeCommentStatement (System.CodeDom.CodeComment comment);
new System.CodeDom.CodeCommentStatement : System.CodeDom.CodeComment -> System.CodeDom.CodeCommentStatement
Public Sub New (comment As CodeComment)
参数
- comment
- CodeComment
CodeComment,指示注释。
适用于
CodeCommentStatement(String)
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
使用指定文本作为内容来初始化 CodeCommentStatement 类的新实例。
public:
CodeCommentStatement(System::String ^ text);
public CodeCommentStatement (string text);
new System.CodeDom.CodeCommentStatement : string -> System.CodeDom.CodeCommentStatement
Public Sub New (text As String)
参数
- text
- String
注释的内容。
适用于
CodeCommentStatement(String, Boolean)
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
- Source:
- CodeCommentStatement.cs
使用指定的文本和文档注释标志初始化 CodeCommentStatement 类的新实例。
public:
CodeCommentStatement(System::String ^ text, bool docComment);
public CodeCommentStatement (string text, bool docComment);
new System.CodeDom.CodeCommentStatement : string * bool -> System.CodeDom.CodeCommentStatement
Public Sub New (text As String, docComment As Boolean)
参数
- text
- String
注释的内容。
- docComment
- Boolean
当该注释是文档注释时为 true
;否则为 false
。
示例
下面的代码示例演示如何使用 CodeCommentStatement(String, Boolean) 构造函数创建要用作 XML 注释字段的注释语句。 此示例是后面的更大示例的一部分。
// Declare a new code entry point method.
CodeEntryPointMethod start = new CodeEntryPointMethod();
start.Comments.Add(new CodeCommentStatement("<summary>", true));
start.Comments.Add(new CodeCommentStatement(
"Main method for HelloWorld application.", true));
start.Comments.Add(new CodeCommentStatement(
@"<para>Add a new paragraph to the description.</para>", true));
start.Comments.Add(new CodeCommentStatement("</summary>", true));
' Declare a new code entry point method.
Dim start As New CodeEntryPointMethod()
start.Comments.Add(New CodeCommentStatement("<summary>", True))
start.Comments.Add(New CodeCommentStatement( _
"Main method for HelloWorld application.", True))
start.Comments.Add(New CodeCommentStatement( _
"<para>Add a new paragraph to the description.</para>", True))
start.Comments.Add(New CodeCommentStatement("</summary>", True))
以下代码示例演示如何创建简单的“Hello World”控制台应用程序,并为已编译的应用程序生成 XML 文档文件。
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.IO;
using System.Text.RegularExpressions;
namespace BasicCodeDomApp
{
class Program
{
static string providerName = "cs";
static string sourceFileName = "test.cs";
static void Main(string[] args)
{
CodeDomProvider provider = CodeDomProvider.CreateProvider(providerName);
LogMessage("Building CodeDOM graph...");
CodeCompileUnit cu = new CodeCompileUnit();
cu = BuildHelloWorldGraph();
StreamWriter sourceFile = new StreamWriter(sourceFileName);
provider.GenerateCodeFromCompileUnit(cu, sourceFile, null);
sourceFile.Close();
CompilerParameters opt = new CompilerParameters(new string[]{
"System.dll" });
opt.GenerateExecutable = true;
opt.OutputAssembly = "HelloWorld.exe";
opt.TreatWarningsAsErrors = true;
opt.IncludeDebugInformation = true;
opt.GenerateInMemory = true;
opt.CompilerOptions = "/doc:HelloWorldDoc.xml";
CompilerResults results;
LogMessage("Compiling with " + providerName);
results = provider.CompileAssemblyFromFile(opt, sourceFileName);
OutputResults(results);
if (results.NativeCompilerReturnValue != 0)
{
LogMessage("");
LogMessage("Compilation failed.");
}
else
{
LogMessage("");
LogMessage("Demo completed successfully.");
}
File.Delete(sourceFileName);
}
// Build a Hello World program graph using System.CodeDom types.
public static CodeCompileUnit BuildHelloWorldGraph()
{
// Create a new CodeCompileUnit to contain
// the program graph.
CodeCompileUnit compileUnit = new CodeCompileUnit();
// Declare a new namespace called Samples.
CodeNamespace samples = new CodeNamespace("Samples");
// Add the new namespace to the compile unit.
compileUnit.Namespaces.Add(samples);
// Add the new namespace import for the System namespace.
samples.Imports.Add(new CodeNamespaceImport("System"));
// Declare a new type called Class1.
CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
class1.Comments.Add(new CodeCommentStatement("<summary>", true));
class1.Comments.Add(new CodeCommentStatement(
"Create a Hello World application.", true));
class1.Comments.Add(new CodeCommentStatement("</summary>", true));
class1.Comments.Add(new CodeCommentStatement(
@"<seealso cref=" + '"' + "Class1.Main" + '"' + "/>", true));
// Add the new type to the namespace type collection.
samples.Types.Add(class1);
// Declare a new code entry point method.
CodeEntryPointMethod start = new CodeEntryPointMethod();
start.Comments.Add(new CodeCommentStatement("<summary>", true));
start.Comments.Add(new CodeCommentStatement(
"Main method for HelloWorld application.", true));
start.Comments.Add(new CodeCommentStatement(
@"<para>Add a new paragraph to the description.</para>", true));
start.Comments.Add(new CodeCommentStatement("</summary>", true));
// Create a type reference for the System.Console class.
CodeTypeReferenceExpression csSystemConsoleType =
new CodeTypeReferenceExpression("System.Console");
// Build a Console.WriteLine statement.
CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression(
csSystemConsoleType, "WriteLine",
new CodePrimitiveExpression("Hello World!"));
// Add the WriteLine call to the statement collection.
start.Statements.Add(cs1);
// Build another Console.WriteLine statement.
CodeMethodInvokeExpression cs2 = new CodeMethodInvokeExpression(
csSystemConsoleType, "WriteLine", new CodePrimitiveExpression(
"Press the ENTER key to continue."));
// Add the WriteLine call to the statement collection.
start.Statements.Add(cs2);
// Build a call to System.Console.ReadLine.
CodeMethodInvokeExpression csReadLine =
new CodeMethodInvokeExpression(csSystemConsoleType, "ReadLine");
// Add the ReadLine statement.
start.Statements.Add(csReadLine);
// Add the code entry point method to
// the Members collection of the type.
class1.Members.Add(start);
return compileUnit;
}
static void LogMessage(string text)
{
Console.WriteLine(text);
}
static void OutputResults(CompilerResults results)
{
LogMessage("NativeCompilerReturnValue=" +
results.NativeCompilerReturnValue.ToString());
foreach (string s in results.Output)
{
LogMessage(s);
}
}
}
}
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports System.IO
Imports System.Text.RegularExpressions
Class Program
Private Shared providerName As String = "vb"
Private Shared sourceFileName As String = "test.vb"
Shared Sub Main(ByVal args() As String)
Dim provider As CodeDomProvider = _
CodeDomProvider.CreateProvider(providerName)
LogMessage("Building CodeDOM graph...")
Dim cu As New CodeCompileUnit()
cu = BuildHelloWorldGraph()
Dim sourceFile As New StreamWriter(sourceFileName)
LogMessage("Generating code...")
provider.GenerateCodeFromCompileUnit(cu, sourceFile, Nothing)
sourceFile.Close()
Dim opt As New CompilerParameters(New String() {"System.dll"})
opt.GenerateExecutable = True
opt.OutputAssembly = "HelloWorld.exe"
opt.TreatWarningsAsErrors = True
opt.IncludeDebugInformation = True
opt.GenerateInMemory = True
opt.CompilerOptions = "/doc"
Dim results As CompilerResults
LogMessage(("Compiling with " & providerName))
results = provider.CompileAssemblyFromFile(opt, sourceFileName)
OutputResults(results)
If results.NativeCompilerReturnValue <> 0 Then
LogMessage("")
LogMessage("Compilation failed.")
Else
LogMessage("")
LogMessage("Demo completed successfully.")
End If
File.Delete(sourceFileName)
End Sub
' Build a Hello World program graph using
' System.CodeDom types.
Public Shared Function BuildHelloWorldGraph() As CodeCompileUnit
' Create a new CodeCompileUnit to contain
' the program graph.
Dim compileUnit As New CodeCompileUnit()
' Declare a new namespace called Samples.
Dim samples As New CodeNamespace("Samples")
' Add the new namespace to the compile unit.
compileUnit.Namespaces.Add(samples)
' Add the new namespace import for the System namespace.
samples.Imports.Add(New CodeNamespaceImport("System"))
' Declare a new type called Class1.
Dim class1 As New CodeTypeDeclaration("Class1")
class1.Comments.Add(New CodeCommentStatement("<summary>", True))
class1.Comments.Add(New CodeCommentStatement( _
"Create a Hello World application.", True))
class1.Comments.Add(New CodeCommentStatement("</summary>", True))
class1.Comments.Add(New CodeCommentStatement( _
"<seealso cref=" & ControlChars.Quote & "Class1.Main" & _
ControlChars.Quote & "/>", True))
' Add the new type to the namespace type collection.
samples.Types.Add(class1)
' Declare a new code entry point method.
Dim start As New CodeEntryPointMethod()
start.Comments.Add(New CodeCommentStatement("<summary>", True))
start.Comments.Add(New CodeCommentStatement( _
"Main method for HelloWorld application.", True))
start.Comments.Add(New CodeCommentStatement( _
"<para>Add a new paragraph to the description.</para>", True))
start.Comments.Add(New CodeCommentStatement("</summary>", True))
' Create a type reference for the System.Console class.
Dim csSystemConsoleType As New CodeTypeReferenceExpression( _
"System.Console")
' Build a Console.WriteLine statement.
Dim cs1 As New CodeMethodInvokeExpression(csSystemConsoleType, _
"WriteLine", New CodePrimitiveExpression("Hello World!"))
' Add the WriteLine call to the statement collection.
start.Statements.Add(cs1)
' Build another Console.WriteLine statement.
Dim cs2 As New CodeMethodInvokeExpression(csSystemConsoleType, _
"WriteLine", New CodePrimitiveExpression( _
"Press the ENTER key to continue."))
' Add the WriteLine call to the statement collection.
start.Statements.Add(cs2)
' Build a call to System.Console.ReadLine.
Dim csReadLine As New CodeMethodInvokeExpression( _
csSystemConsoleType, "ReadLine")
' Add the ReadLine statement.
start.Statements.Add(csReadLine)
' Add the code entry point method to
' the Members collection of the type.
class1.Members.Add(start)
Return compileUnit
End Function 'BuildHelloWorldGraph
Shared Sub LogMessage(ByVal [text] As String)
Console.WriteLine([text])
End Sub
Shared Sub OutputResults(ByVal results As CompilerResults)
LogMessage(("NativeCompilerReturnValue=" & _
results.NativeCompilerReturnValue.ToString()))
Dim s As String
For Each s In results.Output
LogMessage(s)
Next s
End Sub
End Class
注解
docComment
如果 参数为 true
,CodeCommentStatement则 为文档注释,注释使用三重分隔符字符进行结构化。 例如,在 C# 中,注释为“///
”,在 Visual Basic 中为“'''
”。 文档注释用于标识 XML 注释字段,例如 元素 <summary>
标识的类型或成员摘要。