CompilerError Class
Represents a compiler error or warning.
Assembly: System (in System.dll)
System.CodeDom.Compiler.CompilerError
System.Workflow.ComponentModel.Compiler.WorkflowCompilerError
| Name | Description | |
|---|---|---|
![]() | CompilerError() | Initializes a new instance of the CompilerError class. |
![]() | CompilerError(String, Int32, Int32, String, String) | Initializes a new instance of the CompilerError class using the specified file name, line, column, error number, and error text. |
| Name | Description | |
|---|---|---|
![]() | Column | Gets or sets the column number where the source of the error occurs. |
![]() | ErrorNumber | Gets or sets the error number. |
![]() | ErrorText | Gets or sets the text of the error message. |
![]() | FileName | Gets or sets the file name of the source file that contains the code which caused the error. |
![]() | IsWarning | Gets or sets a value that indicates whether the error is a warning. |
![]() | Line | Gets or sets the line number where the source of the error occurs. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Provides an implementation of Object's ToString method.(Overrides Object.ToString().) |
CompilerError represents a compiler error or a warning that has been returned by the compiler.
Note |
|---|
This class contains an inheritance demand at the class level that applies to all members. A SecurityException is thrown when the derived class does not have full-trust permission. For details about inheritance demands, see Inheritance Demands. |
The following example compiles a CodeDOM program graph and provides an example of how to programmatically access CompilerError data.
Imports System Imports System.CodeDom Imports System.CodeDom.Compiler Imports Microsoft.CSharp Namespace CompilerError_Example _ Class Class1 Shared Sub Main() ' Output some program information using Console.WriteLine. Console.WriteLine("This program compiles a CodeDOM program that incorrectly declares multiple data") Console.WriteLine("types to demonstrate handling compiler errors programatically.") Console.WriteLine("") ' Compile the CodeCompileUnit retrieved from the GetCompileUnit() method. Dim provider As CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp") ' Initialize a CompilerParameters with the options for compilation. Dim assemblies() As String = New [String]() {"System.dll"} Dim options As New CompilerParameters(assemblies, "output.exe") ' Compile the CodeDOM graph and store the results in a CompilerResults. Dim results As CompilerResults = provider.CompileAssemblyFromDom(options, GetCompileUnit()) ' Compilation produces errors. Print out each error. Console.WriteLine("Listing errors from compilation: ") Console.WriteLine("") Dim i As Integer For i = 0 To results.Errors.Count - 1 Console.WriteLine(results.Errors(i).ToString()) Next i End Sub Public Shared Function GetCompileUnit() As CodeCompileUnit ' Create a compile unit to contain a CodeDOM graph. Dim cu As New CodeCompileUnit() ' Create a namespace named TestSpace. Dim cn As New CodeNamespace("TestSpace") ' Declare a new type named TestClass. Dim cd As New CodeTypeDeclaration("TestClass") ' Declare a new member string field named TestField. Dim cmf As New CodeMemberField("System.String", "TestField") ' Add the field to the type. cd.Members.Add(cmf) ' Declare a new member method named TestMethod. Dim cm As New CodeMemberMethod() cm.Name = "TestMethod" ' Declare a string variable named TestVariable. Dim cvd As New CodeVariableDeclarationStatement("System.String1", "TestVariable") cm.Statements.Add(cvd) ' Cast the TestField reference expression to string and assign it to the TestVariable. Dim ca As New CodeAssignStatement(New CodeVariableReferenceExpression("TestVariable"), New CodeCastExpression("System.String2", New CodeFieldReferenceExpression(New CodeThisReferenceExpression(), "TestField"))) ' This code can be used to generate the following code in C#: ' TestVariable = ((string)(this.TestField)); cm.Statements.Add(ca) ' Add the TestMethod member to the TestClass type. cd.Members.Add(cm) ' Add the TestClass type to the namespace. cn.Types.Add(cd) ' Add the TestSpace namespace to the compile unit. cu.Namespaces.Add(cn) Return cu End Function End Class End Namespace
for deriving from the CompilerError class. Demand value: InheritanceDemand; PermissionSet: FullTrust.
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



