The topic of this article may not meet Wikipedia's general notability guideline. (May 2013) (Learn how and when to remove this template message)
|Paradigm||multi-paradigm: structured, object-oriented, event-driven, procedural, meta|
|Designed by||Geeks ltd.|
|Typing discipline||static, dynamic|
|Visual C#, .NET Framework, ASP.NET, Domain-specific language|
M# (pronounced em sharp) is a code generation tool and a domain-specific language that can be used to create websites and web applications. It can translate entities and page definitions to ASP.NET Web Forms and C# code which in turn form the user interface and business logic layer of the application. Its main goals are to reduce time of development, increase code quality, and reduce human errors.
M# generates codes that is mainly in the C# programming language. Because the "sharp" suffix has been used by a number of other .NET languages, M# followed the same convention.
M# uses its own IDE, which is a web-based application. Inside that, a user can type, select from suggestions (Intelli-sense), or use the mouse to define the entities or user interface modules. An example would be a form module that has two buttons (Cancel and Save) and displays a Key and a Text field. The Key field is read-only and the Save button adds a content block to the database:
Internally, M# keeps this module definition as an JSON file. At the time of a build, it will generate C#, ascx, and ascx.cs files. From that moment, XML or M# is not necessary to render the module or to be installed on the machines that will serve the page.
New versions of M# are integrated with Microsoft Visual Studio.
- "The end of offshoring?". Business Reporter. Archived from the original on 2013-03-10.
- "Why M#?". Retrieved 18 May 2013.
- Modelling languages for the "Solution Domain"; Productivity rules!. Code Generation. 2011.
- "Understanding M#". Retrieved 26 May 2013.