İngilizce dilinde oku

Aracılığıyla paylaş


CompilerError Sınıf

Tanım

Derleyici hata veya uyarıyı temsil eder.

C#
public class CompilerError
C#
[System.Serializable]
public class CompilerError
Devralma
CompilerError
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki örnek bir CodeDOM program grafiğini derler ve CompilerError verilerine program aracılığıyla erişme örneği sağlar.

C#
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;
        }
    }
}

Açıklamalar

CompilerError derleyici hatası veya derleyici tarafından döndürülen bir uyarıyı temsil eder.

Not

Bu sınıf, tüm üyeler için geçerli olan sınıf düzeyinde bir devralma talebi içerir. Türetilmiş sınıfın tam güven izni olmadığında bir SecurityException oluşturulur. Devralma talepleri hakkında ayrıntılı bilgi için bkz . Devralma Talepleri.

Oluşturucular

CompilerError()

CompilerError sınıfının yeni bir örneğini başlatır.

CompilerError(String, Int32, Int32, String, String)

Belirtilen dosya adını, satırı, sütunu, hata numarasını ve hata metnini kullanarak sınıfın yeni bir örneğini CompilerError başlatır.

Özellikler

Column

Hatanın kaynağının oluştuğu sütun numarasını alır veya ayarlar.

ErrorNumber

Hata numarasını alır veya ayarlar.

ErrorText

Hata iletisinin metnini alır veya ayarlar.

FileName

Hataya neden olan kodu içeren kaynak dosyanın dosya adını alır veya ayarlar.

IsWarning

Hatanın bir uyarı olup olmadığını belirten bir değer alır veya ayarlar.

Line

Hata kaynağının oluştuğu satır numarasını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Nesnenin ToString() yönteminin bir uygulamasını sağlar.

Şunlara uygulanır

Ürün Sürümler
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Ayrıca bkz.