Thank you very much for your sugesstions:
PreProcessor from LLVM, GCC etc.
Could explain what you need in first 2 items?
It can be added.
C/CPP interop support
Open CoreLib for examplle class DateTime and have a look at property Now
Ability to disable the GC
You need to use switch on command line /gc-
Global objects, functions, methods etc. like in C/CPP
You can use static
and use class name as namespace
As for generics this could also be done by converting it to a C++ template.
There is a big problem with C++ templates, it does not support virtual methods on class,
for example in C# it is very simple to write something like this:
public virtual T Get<T>()
corresponding code in C++ with template could not be compiled. Additionally it is causing issue with using
for value and class types
template < typename T >
virtual T Get()