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

     

    人工智能芯片与自动驾驶
  • 相关阅读:
    JeePlus:代码生成器
    JeePlus:API工具
    Java实现 洛谷 P1023 税收与补贴问题
    Java实现 洛谷 P1023 税收与补贴问题
    Java实现 洛谷 P1023 税收与补贴问题
    Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
    Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
    Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
    Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
    Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14136632.html
Copyright © 2011-2022 走看看