Languages. in Order To Achieve This Certain Rules Must Be Laid and All The Languages 6
Languages. in Order To Achieve This Certain Rules Must Be Laid and All The Languages 6
Languages. in Order To Achieve This Certain Rules Must Be Laid and All The Languages 6
One of the obvious themes of .NET is unification and interoperability between various programming
languages. In order to achieve this; certain rules must be laid and all the languages
6
must follow these rules. In other words we can not have languages running around creating their own
extensions and their own fancy new data types. CLS is the collection of the rules and constraints that
every language (that seeks to achieve .NET compatibility) must follow. Microsoft has defined three level
of CLS compatibility/compliance. The goals and objectives of each compliance level have been set aside.
The three compliance levels with their brief description are given below:
Compliant producer
The component developed in this type of language can be used by any other language.
Consumer
The language in this category can use classes produced in any other language. In simple words this means
that the language can instantiate classes developed in other language. This is similar to how COM
components can be instantiated by your ASP code.
Extender
Languages in this category can not just use the classes as in CONSUMER category; but can also extend
classes using inheritance.
Languages that come with Microsoft Visual Studio namely Visual C++, Visual Basic and C#; all satisfy the
above three categories. Vendors can select any of the above categories as the targeted compliance
level(s) for their languages.