mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-05 09:39:31 +02:00
Author:halw
Date:2008-12-19T15:39:13.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@142 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -22,15 +22,15 @@ Eiffel for .NET supports:
|
||||
|
||||
The following syntax can be used to declare .NET custom attributes on Eiffel entities (features and classes):
|
||||
<code>
|
||||
empty: BOOLEAN is
|
||||
indexing
|
||||
description: "Is Current empty?"
|
||||
attribute: create {OBSOLETE_ATTRIBUTE}.make_obsoleteattribute_1 ("Use `is_empty' instead") end
|
||||
obsolete
|
||||
"Use is_empty instead"
|
||||
do
|
||||
Result := is_empty
|
||||
end
|
||||
empty: BOOLEAN
|
||||
indexing
|
||||
description: "Is Current empty?"
|
||||
attribute: create {OBSOLETE_ATTRIBUTE}.make_obsoleteattribute_1 ("Use `is_empty' instead") end
|
||||
obsolete
|
||||
"Use is_empty instead"
|
||||
do
|
||||
Result := is_empty
|
||||
end
|
||||
</code>
|
||||
|
||||
The previous example shows the declaration of the obsolete feature <code> empty </code> . The custom attribute defined by <code> OBSOLETE_ATTRIBUTE </code> is used to ensure that any consumer of the resulting assembly will see the feature as being obsolete. The custom attribute is defined in the indexing clause <code> attribute </code>. The definition consists of a creation expression that creates the custom attribute with the right parameters.
|
||||
@@ -48,14 +48,14 @@ Another advantage of Eiffel for .NET's implementation of covariance is that it c
|
||||
===Genericity===
|
||||
|
||||
The CLR does not support generics at all, so that the following Eiffel for .NET classes:
|
||||
* <code> LIST [ANY] </code>
|
||||
* <code> LIST [INTEGER] </code>
|
||||
* <code>LIST [ANY]</code>
|
||||
* <code>LIST [INTEGER]</code>
|
||||
|
||||
will actually be generated as:
|
||||
* <code> LIST_ANY </code>
|
||||
* <code> LIST_Int32 </code>
|
||||
* <code>LIST_ANY</code>
|
||||
* <code>LIST_Int32</code>
|
||||
|
||||
Meaning that if one wants to reuse an Eiffel generic class from another language than Eiffel for .NET, one has to use either <code> LIST_ANY </code> or <code> LIST_Int32 </code>.
|
||||
Meaning that if one wants to reuse an Eiffel generic class from another language than Eiffel for .NET, one has to use either <code>LIST_ANY</code> or <code>LIST_Int32</code>.
|
||||
|
||||
===Enum types===
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[[Property:uuid|78c6b5c1-a87b-805d-38bd-fe64cb4e7c0d]]
|
||||
==Eiffel issues==
|
||||
* Check here first for the [[Eiffel for .NET Limitations|Difference between Eiffel and Eiffel for .NET]] .
|
||||
* The root creation routine of the root class must not take any arguments. You can access the command line given to the application via the class <code> ARGUMENTS. </code>
|
||||
* The root creation routine of the root class must not take any arguments. You can access the command line given to the application via the class <code>ARGUMENTS</code>.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user