从LinqPad中的类运行

时间:2014-01-30 15:29:50

标签: c# linqpad

如何在LinqPad中运行以下代码 C#Program 谢谢......

class ThreadTest
{
    bool done;

    static void Main()
    {
        ThreadTest tt = new ThreadTest();   // Create a common instance
        new Thread (tt.Go).Start();
        tt.Go();
    }

    // Note that Go is now an instance method
    void Go() 
    {
        if (!done) { done = true; Console.WriteLine ("Done"); }
    }
}
  

更新

     

此示例 - 以及Nutshell中C#5的并发章节中的所有其他示例都可以作为LINQPad示例库下载。转到LINQPad的样本TreeView,然后单击“下载/导入更多样本”并选择第一个列表。 - Joe Albahari

1 个答案:

答案 0 :(得分:5)

Main移出ThreadTest,它应该可以正常工作。您还需要在此时创建类和方法public(或internal):

static void Main()
{
   ThreadTest tt = new ThreadTest();   // Create a common instance
   new Thread (tt.Go).Start();
   tt.Go();
}

public class ThreadTest
{
    bool done;
    // Note that Go is now an instance method
    public void Go() 
    {
        if (!done) { done = true; Console.WriteLine ("Done"); }
    }
}

“C#程序”隐式包含在一个类中 - 在嵌套类中移动main可能会混淆在最外层的类中寻找Main的执行程序。