CodeDomProvider.GenerateCodeFromCompileUnit Yöntem

Tanım

Belirtilen Kod Belgesi Nesne Modeli (CodeDOM) derleme birimi için kod oluşturur ve belirtilen seçenekleri kullanarak bunu belirtilen metin yazıcıya gönderir.

C#
public virtual void GenerateCodeFromCompileUnit (System.CodeDom.CodeCompileUnit compileUnit, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);

Parametreler

compileUnit
CodeCompileUnit

CodeCompileUnit Kodun oluşturulacağı A.

writer
TextWriter

TextWriter Çıkış kodunun gönderildiği.

options
CodeGeneratorOptions

CodeGeneratorOptions Kod oluşturmak için kullanılacak seçenekleri gösteren bir.

Özel durumlar

Türetilmiş bir sınıfta bu yöntem veya CreateGenerator() yöntem geçersiz kılınmaz.

Örnekler

Aşağıdaki kod örneği, bir 'den "Merhaba Dünya" uygulaması için kod oluşturmak için yönteminin CodeCompileUnitkullanımını GenerateCodeFromCompileUnit gösterir. Bu örnek, sınıfı için CodeDomProvider sağlanan daha büyük bir örneğin parçasıdır.

C#
public static void GenerateCode(CodeDomProvider provider,
    CodeCompileUnit compileunit)
{
    // Build the source file name with the appropriate
    // language extension.
    String sourceFile;
    if (provider.FileExtension[0] == '.')
    {
        sourceFile = "TestGraph" + provider.FileExtension;
    }
    else
    {
        sourceFile = "TestGraph." + provider.FileExtension;
    }

    // Create an IndentedTextWriter, constructed with
    // a StreamWriter to the source file.
    IndentedTextWriter tw = new IndentedTextWriter(new StreamWriter(sourceFile, false), "    ");
    // Generate source code using the code generator.
    provider.GenerateCodeFromCompileUnit(compileunit, tw, new CodeGeneratorOptions());
    // Close the output file.
    tw.Close();
}

Açıklamalar

Not

.NET Framework 1.0 ve 1.1 sürümlerinde, bu yöntem sağlayıcının ICodeGenerator yöntemi tarafından döndürülen uygulama tarafından CreateGenerator sağlanır. Sürüm 2.0'da bu yöntem, kod sağlayıcısı tarafından geçersiz kılınmasa bile doğrudan kod sağlayıcısında çağrılabilir. Kod sağlayıcısı bu yöntemi geçersiz kılmazsa, ICodeGenerator uygulama temel sınıf tarafından çağrılır.

Devralanlara Notlar

Bu yöntemi geçersiz kılarsanız, temel sınıfın ilgili yöntemini çağırmamalısınız. Temel sınıf yöntemi, kod oluşturucuları kullanan önceden var olan sağlayıcılarla uyumluluk için eski CreateGenerator() yöntemini kullanarak türetilmiş sınıfta bir oluşturucu oluşturur. Temel sınıf yöntemi daha sonra bu işlevi gerçekleştirmek için uygulamadaki ICodeGenerator eşdeğer yöntemi çağırır. Kod oluşturucu kullanmayan bir NotImplementedException kod sağlayıcısından temel sınıf yöntemini çağırırsanız bir alırsınız.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 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
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Ayrıca bkz.