public static void ClassDeclaration() { CodeTypeDeclaration cls = new FluentCodeClass() .Method("TestMethod").Attributes(MemberAttributes.Public).Parameter(typeof(string), "parameter1").ReturnType(typeof(int)) .Declare(typeof(DateTime), "supervar", Expr.Primitive(5)) .Call("method") .Return() .EndMethod .EndFluent(); var type2 = new FluentCodeClass().Name("MathType"); type2.Method("Add").Parameter(typeof(int), "IntA").Parameter(typeof(int), "IntB") .Return((int a, int b) => a + b) .EndFluent(); type2.Method("Subtract").Parameter(typeof(int), "IntA").Parameter(typeof(int), "IntB") .Return((int a, int b) => a - b) .EndFluent(); var compileUnit = new CodeCompileUnit(); var ns = new CodeNamespace(); ns.Imports.Add(new CodeNamespaceImport("Test")); compileUnit.Namespaces.Add(ns); TestGenerated(compileUnit); }
public static void TryCatchTest() { var ns = new FluentCodeCompileUnit().Namespace("TestNamespace") .Import("System"); FluentCodeClass type = ns.Class(MemberAttributes.Public, "TryCatchClass"); type.Method(MemberAttributes.Public, "TryCatchMethod") .Try .Throw(Expr.New(typeof(Exception), Expr.Primitive("Evil Exception"))) .Catch(typeof(Exception), "ex") .CallStatic(typeof(Console), "WriteLine", Expr.Primitive("Catch Block")) .Finally .CallStatic(typeof(Console), "WriteLine", Expr.Primitive("Finally Block")) .EndTry .EndMethod.EndFluent(); CodeCompileUnit compileUnit = ns.EndNamespace.EndFluent(); TestGenerated(compileUnit); }