C-Sharp Mapping for Local Classes

On this page:

Mapped C# Class

A local Slice class is mapped to a concrete or abstract C# class with the same name. For example:

Slice
module Ice
{
    local class ConnectionInfo
    {
        ...
    }
}

is mapped to the C# class ConnectionInfo:

C#
namespace Ice
{
    public partial class ConnectionInfo
    {
        ...
    }
}


LocalObject in C#

Like local interfaces, local Slice classes implicitly derive from LocalObject, which is mapped to System.Object in C#.

Mapping for Local Interface Inheritance in C#

A local Slice class can extend another local Slice class, and can implement one or more local Slice interfaces. Both extends and implements are mapped to inheritance in C#. For example:

Slice
module M
{
    local interface A {}
    local interface B {}
    
    local class C implements A, B {}
    local class D extends C {}
}

is mapped to:

C#
namespace M
{
    public partial interface A {}
    public partial interface B {}
    
    public partial class C : A, B {}
    public partial class D : C {}
}