C# Generator

More productivity and agility
for your CSharp developments !

What is it ?

CSharp Generator translates UML models to C# applications. Purpose of this generator is to offer a bijection between model and code. Specially with new generation of languages like C# that not only offers a language yet offers also a platform. These platform offering a good level of abstraction that decreases the gap between model and code.

CSharp Generator is free and allows you to customize generation rules and add your own patterns.

How does it work ?

A mandatory features of these generator is of course Mia-Generation tools. After installation of Mia-Generation, CSharp Generator will be automatically installed, because it is embedded as a common solution for Mia-Generation.
A first step of an application will be to build a model following a development process (analysis, design, etc.), then choose a target platform for your application. So if you choose C# target, you may want to generate rapidly a large part of your code (structure, data, etc.), it is available with CSharp Generator through scenario "CSharp Generation". Of course some parameters may be initialized using scenario "CSharp Generation Parameters", for example to define collection strategy for n-ary associations in uml model.

What are the top features ?

  1. Configuration of generation
  2. For CSharp Generation, some parameters may be initialized to handle different strategy for collection management, accessors generation and adding prefixes to attributes. Using scenario "CSharp Generation Parameters", an interface will offer some possibilities to user :



    Result of this configuration will be a property file, that can also be manually edited :

    ############################
    # CSharp Generation Parameters #
    ############################

    collection.generateSetValues = true
    collection.map = Hashtable
    attribute.prefix =
    collection.generateSize = true
    collection.generateAdd = true
    collection.generateClear = true
    collection.generateGetValues = true
    attribute.generateGetter = true
    collection.generateGetElement = true
    collection.ordered = ArrayList
    constructor.generateDefault = true
    attribute.generateSetter = true
    collection.generateRemove = true