|
The IDL-to-C# language mapping used by MinCor.NET (its formal OMG specification is still pending) is kept similar to OMGs standard IDL-to-Java language mapping, due to the conceptual similarities between C# and Java. Both languages support interfaces with multiple inheritances which require explicit implementation by classes. A Java or C# class, on the other hand, can only inherit from a single base class. It therefore seems obvious to identify CORBA interfaces with C# interfaces. As in Java all administrative functions associated with an IDL interface are made available as part of an additional generated 'Helper' class. The major difference between the Java- and the C#-language mapping is the absence of 'Holder' classes. C# allows for in/out-parameters and call-by-reference as compared to Java. Therefore, C# does not need special containers for parameters passed by reference. CORBA types are directly mapped to C# types as far as possible. But the language independent concept of the .Net framework allows the use of MinCor.NET with any language supporting the .Net Compact Framework.
- Requirements - Remarks - Mapping for Basic Data Types - Mapping for Complex Types First steps - Hello - Getting started Language mapping - Attribute - Using IDL Attributes - ListArrayStruc - Using IDL Sequences, Arrays & Structs - UniEnu - Using IDL Unions & Enums - Excep - Using CORBA User Exceptions Common patterns - Callback - Using Callbacks between CORBA Applications - Factory - Using Dynamic Creation of CORBA Objects Special features - LongMsg - CORBA Performance with Massive Data Amount - Persistent - Using Persistent Server IORs
- Microsoft .Net Compact Framework 1.1 - Add 'MinCor\bin\MinCorCF.dll' as reference to your .Net projects.
All the examples are located at 'MinCor\Demo\<NameOfExample>'. Every example contains an IDL file at its root directory, and two subdirectories containg the code for a client and for a server application. For your convenience, there are .Net project files available, too.
OMG IDL C# / .Net ----------------------------------------- boolean bool char char wchar char string string wstring string octet byte short short unsigned short ushort long int unsigned long uint long long long unsigned long long ulong float float double double long double double
OMG IDL C# / .Net ----------------------------------------- interface interface struct struct enum enum union class array array sequence array CORBA::ORB Middsol.CORBA.ORB PortableServer::POA Middsol.PortableServer.POA CORBA::Any Middsol.CORBA.Any CORBA::Object Middsol.CORBA.Object