14.14 C#-Specific Metadata Directives The slice2cs compiler supports metadata directives that allow you inject C# attribute specifications into the generated code. The metadata directive is cs:attribute:. For example: ["cs:attribute:System.Serializable"]struct Point { double x; double y;}; This results in the following code being generated for S: [System.Serializable]public 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: [["cs:attribute:assembly: AssemblyDescription(\"My assembly\")"]] This results in the following code being inserted following any using directives and preceding any definitions: [assembly: AssemblyDescription("My assembly")]