Code Dom, which stands For Code Document Object Model, is 1 advance technique given by Microsoft.Net Framework to create code in run-time. At program level, it provides developers the ability to compose a single language-independent code which could emit source code in a particular language for later demands. Code Document Object Model lies inside the System. Code Dom namespaces of the.NET Framework The Code Dom has the following benefits: From a single code which uses the Code Dom to represent the structure of source code that may create source code of any language supports the Code Dom specification. The Code Dom enables source code and assemblies to be generated, compiled, and executed dynamically at runtime.
It provides a language independent object model for representing the structure of source code in memory. It functions as a source code translator among different languages. Frequent usages of the Code DOM include do my homework Generating template code for emitting code wizards, coding examples; XML Web services client proxies, etc. Dynamically compiling code in languages supported. T4 Text Template Transformation Toolkit is another highly effective generation tool given by Microsoft.net Framework. Contrary to the Code Dom, T4 uses string concatenation to create textual template to create code. A whole lot of the output will be placed into template blocks, to be able to create the code generator effortless to make and customize. But, T4 is a language dependent and will require another code generator for every output language. On the other hand, the Code Dom allows developers utilize one source code to create the identical thing in different languages, which clearly offer a massive advantage in developing.Net Framework tools.
Presently there are Provider and Microsoft VB Code Provider which can be used to create C Sharp code and VisuaBasic.net code. Other programming languages do not have Code Dom Provider however, and may not have easy ways to represent several Code Dom structures delegates, enemas, templates, and frame because of difference in language specifications. But, creating a Code Dom Provider is not a very complicated job, if the input Code Dom structure is limited. Developers can always construct a Code Dom Provider for a specific language by inheriting from Code Dom Provider, and throw exceptions when the construction is too tricky to represent.