CompilerError Class
Represents a compiler error or warning.
System.CodeDom.Compiler.CompilerError
System.Workflow.ComponentModel.Compiler.WorkflowCompilerError
Assembly: System (in System.dll)
The CompilerError type exposes the following members.
| 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 a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | 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.
using System; using System.CodeDom; using System.CodeDom.Compiler; using Microsoft.CSharp; namespace CompilerError_Example { public class Class1 { [STAThread] static void Main(string[] args) { // 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 programmatically."); Console.WriteLine(""); // Compile the CodeCompileUnit retrieved from the GetCompileUnit() method. CSharpCodeProvider provider = new Microsoft.CSharp.CSharpCodeProvider(); // Initialize a CompilerParameters with the options for compilation. string[] assemblies = new String[] {"System.dll"}; CompilerParameters options = new CompilerParameters( assemblies, "output.exe"); // Compile the CodeDOM graph and store the results in a CompilerResults. CompilerResults results = provider.CompileAssemblyFromDom(options, GetCompileUnit()); // Compilation produces errors. Print out each error. Console.WriteLine("Listing errors from compilation: "); Console.WriteLine(""); for( int i=0; i<results.Errors.Count; i++) Console.WriteLine(results.Errors[i].ToString()); } public static CodeCompileUnit GetCompileUnit() { // Create a compile unit to contain a CodeDOM graph. CodeCompileUnit cu = new CodeCompileUnit(); // Create a namespace named TestSpace. CodeNamespace cn = new CodeNamespace("TestSpace"); // Declare a new type named TestClass. CodeTypeDeclaration cd = new CodeTypeDeclaration("TestClass"); // Declare a new member string field named TestField. CodeMemberField cmf = new CodeMemberField("System.String", "TestField"); // Add the field to the type. cd.Members.Add(cmf); // Declare a new member method named TestMethod. CodeMemberMethod cm = new CodeMemberMethod(); cm.Name = "TestMethod"; // Declare a string variable named TestVariable. CodeVariableDeclarationStatement cvd = new CodeVariableDeclarationStatement("System.String1", "TestVariable"); cm.Statements.Add(cvd); // Cast the TestField reference expression to string and assign it to the TestVariable. CodeAssignStatement ca = 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; } } }
- SecurityPermission
for deriving from the CompilerError class. Demand value: InheritanceDemand; PermissionSet: FullTrust.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
