Считается, что код, зависящий от базовой среды выполнения, плохой стиль кодирования, но иногда такой код необходим для работы ошибки времени выполнения. Поддерживаемый способ обнаружения Mono:
using System;
class Program {
static void Main ()
{
Type t = Type.GetType ("Mono.Runtime");
if (t != null)
Console.WriteLine ("You are running with the Mono VM");
else
Console.WriteLine ("You are running something else");
}
}
Любые другие взломы, такие как проверка базового типа System.Int32 или других типов corlib, обречен на провал в будущем.