C# Syntax supported by Model-Maker C# Edition

Does Model-Maker C# Edition support the full C# 1.x / 3.x syntax ?

Generating C# source

ModelMaker generates C# v1 - v3 syntax depending on the project settings. All class related source is supported except:

  • Nested types are not supported and can not be created using ModelMaker.
  • partial class support is limited to a single "part" per model.
  • Preprocessor directives - including regions - inside classes or member declarations are not supported and cannot be created using ModelMaker.
  • Preprocessor directives inside method implementations are fully supported.

Importing C# source

The ModelMaker importer parser understands the full C# v1.1 - C# 3.5 syntax. However, preprocessor directives (such as conditional defines and regions) are not interpreted.

Transforming the imported source into the ModelMaker model has the same limitations as the code generator:

  • Nested types inside classes are not supported. Importing source containing nested types moves these types into the nearest namespace. As a result these types end up in module code rather being part of the class.
  • Importing multiple parts of partial classes is not supported. If you try do this, you'll get an importer warning.
  • Preprocessor directives -including regions - inside class code are igored and in effect removed.
  • Preprocessor directives -including regions - inside method implementation blocks are fully supported.
  • Comments not matching the Documentation signature inside class code are ignored and removed.
  • Comments inside method implementation blocks are fully supported.