2011-08-16 111 views

回答

18

从单FAQ:

http://www.mono-project.com/FAQ:_Technical

下面是直接从该链接:

我怎样才能检测是否是在运行单?

具有依赖于底层运行时的代码被认为是 错误的编码风格,但有时候这样的代码对于解决运行时错误是必需的。检测单声道所支持的方式是:

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类型,注定在未来失败。

长和短,只是不。

+0

感谢Adam。我只问,因为我可能需要解决一个错误。 – Simon

+0

@西蒙没有问题 - 有时甚至你显然不应该做的东西是必需的。 –

+0

原来这是一个重复:)但你仍然有一个很好的答案 – Simon

11

mono porting guide

public static bool IsRunningOnMono() 
{ 
    return Type.GetType ("Mono.Runtime") != null; 
} 
相关问题