zoukankan      html  css  js  c++  java
  • CodeGen API分析

    CodeGen API分析

    作为使用命令行界面的替代方法,开发人员可以使用核心CodeGen环境编写自定义工具或实用程序来生成代码,从而将CodeGen更紧密地集成到开发环境中。             

    为了实现这一点,CodeGen提供了一个.NET API,开发人员可以直接对其进行编码以生成代码。CodeGen API中的主要类有:

    CodeGen.Engine.CodeGenTaskSet

    CodeGen.Engine.CodeGenTask

    CodeGen.Engine.CodeGenerator

    CodeGen API Example

    这是使用codegen API的一个非常简单的示例。此代码段基本上与使用命令行相

    同:

    codegen -s CUSTOMER -t DataClass -r –v

    下面是示例代码:

    ;;Create a new task set
    data taskset = new CodeGenTaskSet()
    taskset.LoggingLevel = LoggingLevel.Verbose

    ;;Create a task and define what it shold do
    data task = new CodeGenTask()
    task.Structures.Add("CUSTOMER")
    task.Templates.Add("DataClass")
    task.ReplaceFiles = true

    ;;Add the task to the task set
    taskset.Tasks.Add(task)

    ;;Create a code generator and tell it about the task set
    data generator = new CodeGenerator(taskset)

    ;;Generate the code
    generator.GenerateCode()

    ;;Did it work?
    if (taskset.Complete) then
              ;;Good to go
    else
              ;;Something failed!

    当执行此代码时,不会看到任何事情发生,因为codegen API没有实现任何

    UI。但是,如果想查看作为其处理的任务集生成的消息,可以针对其中一个注册

    一个事件处理程序方法taskset.Messages.CollectionChanged或者

    task.Messages.CollectionChanged并在消息生成时监视/报告这些消息。例如,如果

    在控制台应用程序中,可以将消息记录到标准输出,如下所示:

    lambda messageFromTaskSet(sender, e)
    begin
              if (e.Action==NotifyCollectionChangedAction.Add)
              begin
                        data message, String
                        foreach message in e.NewItems
                                  if (message!=^null)
                                            Console.WriteLine(message)

              end
    end                    

    ;;Listen for messages from the taskset as it processes
    taskset.Messages.CollectionChanged += messageFromTaskSet

     

    人工智能芯片与自动驾驶
  • 相关阅读:
    最全面的jdbcUtils,总有一种适合你
    如何彻底卸载Oracle?
    Spring框架之AOP
    【HIVE】(2)分区表、二级分区、动态分区、分桶、抽样
    【HIVE】(1)建表、导入数据、外部表、导出数据
    Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
    【HIVE & Spark】将hive引擎换成Spark,运行速度快!怎么换?请看本文
    【HIVE】hive的安装与使用教程
    【Hadoop】mapreduce环形缓冲区
    【Hadoop高级】Hadoop HA、hdfs安全模式
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14136632.html
Copyright © 2011-2022 走看看