From ccf388fd95a701a626fefa3a249022ad9fb6c7c7 Mon Sep 17 00:00:00 2001 From: halw Date: Fri, 19 Dec 2008 15:39:13 +0000 Subject: [PATCH] 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 --- .../eiffel-net-integration.wiki | 28 +++++++++---------- .../net/eiffel-net-language/known-issues.wiki | 2 +- .../ado-net-samples/adonet-sample.wiki | 10 ++++++- .../console-samples/calculator-console.wiki | 12 ++++---- .../net/samples/threads-samples/pools.wiki | 12 +++++++- .../net/samples/threads-samples/timers.wiki | 6 +++- 6 files changed, 46 insertions(+), 24 deletions(-) diff --git a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net-integration.wiki b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net-integration.wiki index d8862ac7..cb95a42d 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net-integration.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net-integration.wiki @@ -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): - 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 The previous example shows the declaration of the obsolete feature empty . The custom attribute defined by OBSOLETE_ATTRIBUTE 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 attribute . 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: -* LIST [ANY] -* LIST [INTEGER] +* LIST [ANY] +* LIST [INTEGER] will actually be generated as: -* LIST_ANY -* LIST_Int32 +* LIST_ANY +* LIST_Int32 -Meaning that if one wants to reuse an Eiffel generic class from another language than Eiffel for .NET, one has to use either LIST_ANY or LIST_Int32 . +Meaning that if one wants to reuse an Eiffel generic class from another language than Eiffel for .NET, one has to use either LIST_ANY or LIST_Int32. ===Enum types=== diff --git a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/known-issues.wiki b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/known-issues.wiki index 42f01acc..d7fa4e68 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/known-issues.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/known-issues.wiki @@ -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 ARGUMENTS. +* 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 ARGUMENTS. diff --git a/documentation/current/platform-specifics/microsoft-windows/net/samples/ado-net-samples/adonet-sample.wiki b/documentation/current/platform-specifics/microsoft-windows/net/samples/ado-net-samples/adonet-sample.wiki index 965bffc0..a74f2ee8 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/samples/ado-net-samples/adonet-sample.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/samples/ado-net-samples/adonet-sample.wiki @@ -49,7 +49,15 @@ When the display is finished, the application wait for you to pressed the return ==Under the Hood== -This application shows how to interact with a database. First the connection to the database is open ( create my_sql_connection . make_from_connection_string ( ''my_database'')), then a request to the database is made (create my_sql_command. make_from_cmd_text_and_connection ( ''my_command'', my_sql_connection )). Finally, the result of the request is displayed. +This application shows how to interact with a database. First the connection to the database is opened: + + create my_sql_connection.make_from_connection_string (my_database) + +Then a request to the database is made: + + create my_sql_command.make_from_cmd_text_and_connection (my_command, my_sql_connection) + +Finally, the result of the request is displayed. This sample contains the following class: * SQL_DATA_READER diff --git a/documentation/current/platform-specifics/microsoft-windows/net/samples/console-samples/calculator-console.wiki b/documentation/current/platform-specifics/microsoft-windows/net/samples/console-samples/calculator-console.wiki index 208d4f37..e82a37c3 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/samples/console-samples/calculator-console.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/samples/console-samples/calculator-console.wiki @@ -37,11 +37,11 @@ Allowable operations are: Enter a number, followed by : -Enter the first number to be put onto the stack, for example 3 . +Enter the first number to be put onto the stack, for example 3. -'''Note:''' Failing to enter a number at this stage will cause the sample to stop. This sample was designed to showcase the use of EiffelBase data structures and is not protected against unexpected entries. +{{note|Failing to enter a number at this stage will cause the sample to stop. This sample was designed to showcase the use of EiffelBase data structures in the Microsoft .NET environment and is not protected against unexpected entries. }} -You may then add another number on the stack by entering the character a : +You may then add another number on the stack by entering the character "a": ********************************* Calculator in reverse Polish form @@ -63,7 +63,7 @@ Next operation? a Enter a number, followed by : -Enter a second number, for example 2 . You can then apply any operation to the two operands such as minus: +Enter a second number, for example 2. You can then apply any operation to the two operands such as minus: ... Next operation? a @@ -78,9 +78,9 @@ Accumulator = 1 Next operation? -You may use the operation 0 to clear the stack at any time. You may use q to quit the program. +You may use the operation 0 to clear the stack at any time. You may use q to quit the program. -{{tip|You can use the command ? to display the list of available operations. }} +{{tip|You can use the command ? to display the list of available operations. }} ==Under the Hood== diff --git a/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/pools.wiki b/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/pools.wiki index b7f1f536..be0d9eda 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/pools.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/pools.wiki @@ -28,7 +28,17 @@ When the display is finished, the application wait for you to pressed the return ==Under the Hood== -This application shows how to use the thread THREAD_POOL. An asynchronous thread is launched ( feature { THREAD_POOL}. queue_user_work_item_wait_callback_object( create { WAIT_CALLBACK}. make ( Current , $ my_async_operation), l_async_operation_done )) and is associated to the local variable l_async_operation_done. Both threads perform simultaneously some operations. The main thread wait for the asynchronous thread to complete his own operations ( l_async_operation_done . wait_one) to close the application. +This application shows how to use the thread THREAD_POOL. +An asynchronous thread is launched: + + feature {THREAD_POOL}.queue_user_work_item_wait_callback_object + (create {WAIT_CALLBACK}.make (Current, $my_async_operation, l_async_operation_done)) + +and is associated to the local variable l_async_operation_done. Both threads perform simultaneously some operations. The main thread wait for the asynchronous thread to complete his own operations + + l_async_operation_done.wait_one + to close the application. + This sample contains the following class: * THREAD_POOL diff --git a/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/timers.wiki b/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/timers.wiki index 2bd477de..4dd4203a 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/timers.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/samples/threads-samples/timers.wiki @@ -32,7 +32,11 @@ When the display is finished, the application wait for you to pressed the return ==Under the Hood== -This application shows how to use the thread TIMER. The timer is launched ( create my_timer . make_with_callback ( create { TIMER_CALLBACK}. make (Current, $ check_status), Void, 0, 2000)) and call the feature check_status that displays the message "Checking Status." every two seconds. +This application shows how to use the thread TIMER. The timer is launched: + + create my_timer .make_with_callback (create {TIMER_CALLBACK}.make (Current, $check_status), Void, 0, 2000) + +and call the feature check_status that displays the message "Checking Status." every two seconds. This sample contains the following class: * TIMER