private void GenerateVB() { IMemberOperatorGenerator gen = null; switch (Operator) { case OperatorType.Explicit: gen = new ExplicitOperatorGeneratorVB(); break; case OperatorType.Implicit: gen = new ImplicitOperatorGeneratorVB(); break; default: throw new NotImplementedException(string.Format("Какая-то несанкционированная xуйня")); } using (Microsoft.VisualBasic.VBCodeProvider provider = new Microsoft.VisualBasic.VBCodeProvider()) { System.CodeDom.Compiler.CodeGeneratorOptions opts = new CodeGeneratorOptions(); using (System.CodeDom.Compiler.IndentedTextWriter tw = new IndentedTextWriter(new StringWriter(), opts.IndentString)) { gen.GenerateDeclaration(tw, provider, opts, ReturnType, Parameters); tw.Indent++; gen.GenerateStatemets(tw, provider, opts, Statements); tw.Indent--; tw.WriteLine("End Operator"); Text = tw.InnerWriter.ToString(); } } }