XsdDataContractImporter.CodeCompileUnit Propiedad

Definición

Obtiene un CodeCompileUnit objeto utilizado para almacenar los tipos CLR generados.

public:
 property System::CodeDom::CodeCompileUnit ^ CodeCompileUnit { System::CodeDom::CodeCompileUnit ^ get(); };
public System.CodeDom.CodeCompileUnit CodeCompileUnit { get; }
member this.CodeCompileUnit : System.CodeDom.CodeCompileUnit
Public ReadOnly Property CodeCompileUnit As CodeCompileUnit

Valor de propiedad

que CodeCompileUnit se usa para almacenar los tipos CLR generados.

Ejemplos

En el ejemplo siguiente se usa la creación de un CodeCompileUnitobjeto . A continuación, se usa el CodeCompileUnit para crear un archivo de código de Visual C# y Visual Basic.

static void CompileCode(CodeCompileUnit ccu, string sourceName)
{
    CodeDomProvider provider = null;
    FileInfo sourceFile = new FileInfo(sourceName);
    // Select the code provider based on the input file extension, either C# or Visual Basic.
    if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".CS")
    {
        provider = new Microsoft.CSharp.CSharpCodeProvider();
    }
    else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".VB")
    {
        provider = new Microsoft.VisualBasic.VBCodeProvider();
    }
    else
    {
        Console.WriteLine("Source file must have a .cs or .vb extension");
    }
    if (provider != null)
    {
        CodeGeneratorOptions options = new CodeGeneratorOptions();
        // Set code formatting options to your preference.
        options.BlankLinesBetweenMembers = true;
        options.BracingStyle = "C";

        StreamWriter sw = new StreamWriter(sourceName);
        provider.GenerateCodeFromCompileUnit(ccu, sw, options);
        sw.Close();
    }
}
Shared Sub CompileCode(ByVal ccu As CodeCompileUnit, ByVal sourceName As String) 
    Dim provider As CodeDomProvider = Nothing
    Dim sourceFile As New FileInfo(sourceName)
    ' Select the code provider based on the input file extension, either C# or Visual Basic.
    If sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".CS" Then
        provider = New Microsoft.CSharp.CSharpCodeProvider()
    ElseIf sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".VB" Then
        provider = New Microsoft.VisualBasic.VBCodeProvider()
    Else
        Console.WriteLine("Source file must have a .cs or .vb extension")
    End If
    If Not (provider Is Nothing) Then
        Dim options As New CodeGeneratorOptions()
        ' Set code formatting options to your preference. 
        options.BlankLinesBetweenMembers = True
        options.BracingStyle = "C"
        
        Dim sw As New StreamWriter(sourceName)
        provider.GenerateCodeFromCompileUnit(ccu, sw, options)
        sw.Close()
    End If

End Sub

Comentarios

Llame a esta propiedad después de importar esquemas mediante XsdDataContractImporter para acceder al en el CodeCompileUnit que se almacena todo el código generado.

Se aplica a

Consulte también