You can write methods containing Unicode characters in IL (compiled with ILAsm) and those methods can be called from C#.
First, the syntax, from §I.5.3 of the CLI spec:
Identifiers are used to name entities. Simple identifiers are equivalent to an ID. However, the ILAsm syntax allows the use of any identifier that can be formed using the Unicode character set. To achieve this, an identifier shall be placed within single quotation marks.
This means the following IL works:
.assembly test {}
.assembly extern mscorlib {}
.class public Delta
{
.method public static void 'Δ'()
{
.entrypoint
ldstr "Hello, delta!"
call void [mscorlib]System.Console::WriteLine(string)
ret
}
}
The important point though, is that the file has to be saved as UTF-16, otherwise other programs (including the C# compiler) won't recognize the name correctly.
Whit this, you can call the method exactly as you would expect from C#: Delta.Δ()
.