Updated wikipage Eiffel for .NET Integration. (Signed-off-by:bmeyer).

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2415 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2023-09-29 14:45:21 +00:00
parent 66fc3dd73c
commit 86e8c94ec5

View File

@@ -1,4 +1,4 @@
[[Property:modification_date|Fri, 29 Sep 2023 14:14:22 GMT]] [[Property:modification_date|Fri, 29 Sep 2023 14:45:20 GMT]]
[[Property:publication_date|Wed, 27 Sep 2023 19:33:07 GMT]] [[Property:publication_date|Wed, 27 Sep 2023 19:33:07 GMT]]
[[Property:title|Eiffel for .NET Integration]] [[Property:title|Eiffel for .NET Integration]]
[[Property:weight|3]] [[Property:weight|3]]
@@ -53,19 +53,15 @@ Eiffel for .NET implements a safe variant of covariance that will always perform
Another advantage of Eiffel for .NET's implementation of covariance is that it can be easily understood by CLS-compliant consumer tools. These tools will actually benefit from the Eiffel for .NET covariance. Another advantage of Eiffel for .NET's implementation of covariance is that it can be easily understood by CLS-compliant consumer tools. These tools will actually benefit from the Eiffel for .NET covariance.
===Genericity=== ===Handling Eiffel and .NET genericity===
The .NET Framework does not support generics at all, so that the following Eiffel for .NET classes: As noted above, Eiffel for .NET fully supports the powerful genericity mechanism of the Eiffel language. The interface with .NET's own genericity mechanism is, however, not complete in version 23.09. Specifically:
* <code>LIST [ANY]</code>
* <code>LIST [INTEGER]</code>
will actually be generated as: * Generic classes in Eiffel will not yield generic classes in .NET. Instead, each generic derivation of a given Eiffel class will yield a different .NET class. So if we have a generic Eiffel class <code>LIST [G]</code>, the type <code>LIST [ANY]</code> will yield a .NET class <code>LIST_ANY</code>, and the type <code>LIST [INTEGER]</code> will yield a class <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>. * If you want to use a generic .NET class (for example in C#), you have to use special techniques as described next.
WARNING: The .NET Core has support for generics, however this is not yet integrated by Eiffel .NET (it will be part of future releases). ===Using generic .NET classes through a Facade===
===Enum types=== ===Enum types===