Шаг 120 - А теперь то же самое на VB

Идея этого шага показать то, что имея структуру очень легко перевести ее на VB. Давайте посмотрим.

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using System.IO;

class MainClass
{
	public static void Main(string[] args)
	{
		CodeCompileUnit compileunit = new CodeCompileUnit();
		CodeNamespace Samples = new CodeNamespace("Samples");
		
		
		//CSharpCodeProvider cs = new CSharpCodeProvider();
		VBCodeProvider cs = new VBCodeProvider();
		
		CodeGeneratorOptions go = new CodeGeneratorOptions();
		ICodeGenerator  ic= cs.CreateGenerator();
		
		CodeTypeDeclaration Class1 = new CodeTypeDeclaration("MyClass1");
		CodeTypeDeclaration Class2 = new CodeTypeDeclaration("MyClass2");
		
		Samples.Types.Add(Class1);
		Samples.Types.Add(Class2);

		Stream ss=File.OpenWrite("d:\\test.txt");
		StreamWriter s = new StreamWriter(ss);
		compileunit.Namespaces.Add(Samples);
		ic.GenerateCodeFromCompileUnit(compileunit,s,go);
		s.Close();
		ss.Close();
	}
}

Все заключается всего в одной строке, нужно поменять класс генератор кода, вот мы его и взяли для VB - VBCodeProvider. А остальное осталось как было. Смотрим, что получилось:

'------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'     Runtime Version: 1.0.2914.16
'
'     Changes to this file may cause incorrect behavior and will be lost if 
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 18.10.2001