Referenced Assembly Type and Feature Name Conversion
The Eiffel for .NET language is Eiffel. It is not a variant of Eiffel that spawned a new language, as is C#, or a dramatic evolution of Eiffel, such as Visual Basic .NET is to VB6. As Eiffel stands today, and will probably remain, Eiffel's conventions for class names and features names match neither that of the OO Pascal variants nor the "Camel-casing" conventions recommended by Microsoft. Eiffel also does not support the notion of full quantified type names. The period ('.') between namespace and type names is not valid Eiffel syntax. These naming convention rules pose a problem for maintaining the Eiffel programming language. To address this issue, when referencing .NET assemblies, all referenced assembly type names and feature names are converted into "Eiffel-case" when using Eiffel.
What is Eiffel-Case?
Eiffel-casing is almost the same for both class and class feature names, all words are separated using underscores ('_'). The differences between them are class names are always in uppercase and feature names always in lowercase.
There are somewhat complex rules to ensure that the automatic formatting of .NET name, type, method, property and otherwise are formatted to the most readable name possible, given their casing convention. One absolute is that the Eiffel compilation process will remove the namespace from the fully qualified type name and format just the type name.
For example
Stripping the namespace from the name is essential to keep type names short and usable, who wants to use
Reserved Prefixes
The following table displays the fixed assembly class name prefixes, assigned by Eiffel Software, for the Microsoft Foundation Class Libraries:
mscorlib.dll | No Prefix |
System.dll | |
System.XML.dll | |
System.Data.dll | |
System.Web.dll | |
System.EnterpriseServices.dll | |
System.Windows.Forms.dll | |