CodeDom, which stands for Code Document Object Model, is one particular progress strategy offered by Microsoft.Web Framework to make code at run-time. At software level, it presents programmers the capacity to publish a solitary language-independent code that can emit resource code in a specific language for afterwards needs.

Code Document Item Model lies in the Program.CodeDom namespaces of the.Web Framework. The CodeDom has the subsequent rewards:

From a single code that utilizes the CodeDom to signify the composition of resource code that can produce source code of any language supports the CodeDom specification.

The CodeDom permits resource code and assemblies to be produced, compiled, and executed dynamically at runtime.

It supplies a language unbiased object model for symbolizing the structure of source code in memory.
It acts as a source code translator between diverse languages.

Frequent usages of the CodeDOM incorporate:

Making template code for emitting code wizards, coding illustrations, XML Web providers customer proxies, and many others.

Dynamically compiling code in languages supported.
T4 (Text Template Transformation Toolkit) is another strong generation resource supplied by Framework. As opposed to the CodeDom, T4 employs string concatenation to generate textual template to create code. A good deal of the output code will be set into template blocks, in order to make the code generator simple to generate and customize. qr codes Even so, T4 is a language dependent and will want a different code generator for each and every output language. On the other hand, the CodeDom enables developers use a one resource code to make the very same factor in diverse languages, which obviously give a large edge in building.Web Framework resources.

Most programing constructs, such as declarations, statements, arrays, casts, iterations, error handling and others, is supported by the CodeDom. For programing constructs that are not presently supported in CodeDom, “snippet” courses such as the CodeSnippetCompileUnit, CodeSnippetExpression, CodeSnippetStatement, and CodeSnippetTypeMember can be used as generic representation. For creating code in a specific language, a corresponding CodeDomProvider class will be needed.

Presently there are Microsoft.CSharp.CSharpCodeProvider and Microsoft.VisualBasic.VBCodeProvider that can be utilized to make C Sharp code and VisuaBasic.internet code. Other programming languages will not have CodeDomProvider but, and may not have straightforward methods to depict some CodeDom constructions (delegates, enums, templates, and framework) thanks to variation in language specifications. However, generating a CodeDomProvider is not a really complicated process, if the enter CodeDom construction is limited. Programmers can constantly create a CodeDomProvider for a distinct language by inheriting from CodeDomProvider, and toss exceptions if the design is way too difficult to symbolize.

Leave a Reply

Your email address will not be published. Required fields are marked *