I would like to know during execution of a program whether it is being executed using the Mono runtime or the Microsoft runtime.
I\'m currently using the following
Here's a version with caching that I'm using in my project:
public static class PlatformHelper
{
private static readonly Lazy IsRunningOnMonoValue = new Lazy(() =>
{
return Type.GetType("Mono.Runtime") != null;
});
public static bool IsRunningOnMono()
{
return IsRunningOnMonoValue.Value;
}
}
As @ahmet alp balkan mentioned, caching is useful here if you're calling this frequently. By wrapping it in a Lazy, the reflection call only happens once.