CodeDOM Helper

CodeDOM Helper Library

New Retail Release

Evaluate the CodeDOM Helper Library

The full, retail release, version of the CodeDOM Helper library is now available and can be downloaded for evaluation free of charge. When first installed, the CodeDOM Helper Library may be used in evaluation mode for a period of 14 days.

  • There are no restrictions when running in evaluation mode, however, the library will only run in evaluation mode from within the development environment.
  • Evaluate, prototype or test the CodeDOM Helper library with your own .Net Framework code generator components or applications.
  • Comes with CSharp and Visual Basic sample projects and includes extensive sample code in the documentation to get you up and running quickly.

Register, download and evaluate the CodeDOM Helper Library:

Specification

The CodeDOM Helper library provides an abstraction layer over the types in the System.CodeDom namespace. Developers can use the CodeDOM Helper library types to simplify the process of creating a Code Document Object Model and can easily generate source code from the model in any, supported, .Net Framework language.

The CodeDOM Helper library targets the .Net Framework version 2.0 and requires, at least, version 2.0 to run, it can, however, generate source code compatible with earlier Framework versions. The CodeDOM Helper library is run time royalty free, so developers can ship the library with their own components or applications free of charge. A developer license is required to use the CodeDOM Helper library, in the development environment, at design time but the library can be evaluated free of charge for a period of 14 days. Whilst in evaluation mode the CodeDOM Helper library is fully functional, however, the library will only operate from within the development environment.

Product Feature Highlights

  • Does not require prior knowledge of the System.CodeDom types, you can build a Code Document Object Model without having to create or access a System.CodeDom type.
  • Typically, requires less code to create and generate a Code Document Object Model.
  • Each CodeDOM Helper type provides access to its, underlying, System.CodeDom type, therefore you have full control of initialization if required.
  • Most of the CodeDOM Helper types are extensible, so you can create your own, custom, expressions, statements, etc.
  • You can generate the same Code Document Object Model in multiple languages just by changing the generator Language or CodeProviderName property value.
  • You can create types, members, etc. and add them to the object model in a single method call.
  • Supports, language specific, versions of the same statement and automatically generates the version required for the specified generator language.
  • Supports multi-line statements that can be added to a member code body in a single call.
  • Provides simple, high-level, support to create frequently used code constructs. You can, for example, create member argument or parameter validation statements with the relevant exception throw statement in a single method call.

Product Feature Details

The Blayd Software CodeDOM Helper library is designed to make it easier for developers to create a source Code Document Object Model (Code DOM). The object hierarchy represented in the System.CodeDom namespace has a complex inheritance chain and typically requires the developer to write a lot of code to generate even fairly simple source code structures. The CodeDOM Helper library tries, where possible, to flatten the hierarchy, thus reducing the number of Types that have to be created and to provide high level methods to create the required source code structures, thus reducing the amount of code that has to be written to create such structures.

The CodeDOM Helper library uses the types defined in the System.CodeDom namespace to build a Code Document Object Model internally but externally it presents its own version of the model and developers can build a Code Document Object Model without having to create or access a System.CodeDom type at all, the library takes care of instantiating and initializing the, relevant, underlying System.CodeDom types.

The CodeDOM Helper library does not generate source code, it uses a, specified, language specific concrete implementation of the System.CodeDom.Compiler.CodeDomProvider class to generate source code from its own Code Document Object Model. The CodeDOM Helper Generator class creates the required code provider instance and uses it to generate source code from the underlying System.CodeDom types maintained by the CodeDOM Helper Code Document Object Model. The CodeDOM Helper library does, therefore, support all of the functionality of the System.CodeDom types and all of the functionality of the supported language specific code providers and code generators. It does, however, also have the same limitations as the System.CodeDom types and the supported code providers and code generators. The CodeDOM Helper library cannot, for example, create code structures that are not supported by the types in the System.CodeDom namespace and it cannot generate source code that is not supported by the relevant language, code provider or source code generator.

The good news, however, is that the CodeDOM Helper library does provide functionality that is not, explicitly, available in the System.CodeDom types. You can use the LanguageStatement class to create, language specific, versions of the same statement and add them as a single statement to the code body of a member. The CodeDOM Helper library will then ensure that the correct, language specific, version of the statement is added to the underlying Code Document Object Model just before the source code is generated. The MultiLineStatement class allows developers to add multiple comment lines to a type member or code body in a single call and can also be used by developers to create their own multi-line statement types. The ValidationStatement class enables developers to generate argument validation, conditional, statements with the relevant exception throw statement in a single call. The ThrowExceptionStatement class makes it very easy for developers to create exception throw statements in a single call. Developers can add their own, custom banner or header to the generated source code output and there are many other, productivity, features available in the CodeDOM Helper library. Using the library to build a Code Document Object Model will, typically, require less code than using the System.CodeDom types directly will.