Documentation for Ice 3.4. The latest release is Ice 3.7. Refer to the space directory for other releases.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

The slice2cs compiler supports metadata directives that allow you to inject C# attribute specifications into the generated code. The metadata directive is cs:attribute:. For example:

Slice
["cs:attribute:System.Serializable"]
struct Point {
    double x;
    double y;
};

This results in the following code being generated for S:

C#
[System.Serializable]
public partial struct Point
{
    public double x;
    public double y;
    // ...
}

You can apply this metadata directive to any Slice construct, such as structure, operation, or parameter definitions.

You can use this directive also at global level. For example:

Slice
[["cs:attribute:assembly: AssemblyDescription(\"My assembly\")"]]

This results in the following code being inserted after any using directives and before any definitions:

C#
[assembly: AssemblyDescription("My assembly")]
See Also
  • No labels