XsdDataContractImporter.CodeCompileUnit Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene CodeCompileUnit usado para almacenar los tipos de 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
CodeCompileUnit usado para almacenar los tipos de CLR generados.
Ejemplos
En el ejemplo siguiente se crea un CodeCompileUnit. A continuación se usa CodeCompileUnit para crear un archivo de código Visual C# y otro de 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 tras importar esquemas con XsdDataContractImporter para tener acceso al CodeCompileUnit en el que todo el código generado está almacenado.