.NET features

Supported .NET features

The interpreter and class libraries currently implement the following .NET 2.0 CLR and language features:

  • Generics
  • Garbage collection + finalization
  • Weak references
  • Full exception handling - try/catch/finally
  • Platform Invoke - not the most pleasant or fully-featured implementation ever, but doesn't need libffi
  • Interfaces
  • Delegates
  • Events
  • Nullable types
  • Single-dimensional arrays
  • Multi-threading - not using native threads, see Threading section for details
  • Some syncronisation primitives - C# 'lock' statement works
  • Very limited reflection - typeof(), .GetType(), .ToString(), Type.Name, Type.NameSpace, Type.IsEnum() only

Unsupported features

However, these are not implemented:

  • Attributes
  • Most reflection
  • Multi-dimensional arrays
  • Unsafe code