2013-11-27 38 views
1

我試圖從服務器讀取1000s的文本文件。 (使用c#,winforms)調試「}」在c#中的相關錯誤

問題是我得到2個錯誤,我不知道他們爲什麼出現。

錯誤 1)「}預計」 2)「類型或命名空間定義」:

對於錯誤1,我看到一個}關閉的方法爲何還出現。對於錯誤2,一切都在命名空間中,爲什麼它出現?

代碼:

namespace WindowsFormsApplication1 
{ 
     public partial class Form1 : Form 
     { 
      public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { // Error1 
      public static void ProcessAllFilesUnderDirectory(string topLevelDirectory, string searchMask, Action<string> processFile) 
      { 
        var files = Directory.EnumerateFiles(topLevelDirectory, searchMask, SearchOption.AllDirectories); 
        foreach (var file in files) 
        processFile(file); 
      } 
      private static void ProcessAFile(string fileName) 
      { 
       var lines = File.ReadAllLines(fileName); 
       // perform processing. 
      } 

      public static void Main(params string[] args) 
      { 
       ProcessAllFilesUnderDirectory(@"\camis01srfs04\DATA\Stats Analysis Project\Sobeys Stats\Atlantic", "*.txt", ProcessAFile); 
      } 

     } 
    } 
}//Error 2 
+4

嗯......你正試圖在另一種方法的主體中聲明方法(包括主要方法)。可能有問題。 – Zong

+0

o.Owait在按鈕點擊函數內聲明函數O.o – Jay

+0

哈哈,新程序員,大新手錯誤 – Newuser

回答

8

你不能把內另外一個方法。

namespace WindowsFormsApplication1 
{ 
     public partial class Form1 : Form 
     { 
      public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { // Error1 
     } 

     public static void ProcessAllFilesUnderDirectory(string topLevelDirectory, string searchMask, Action<string> processFile) 
     { 
       var files = Directory.EnumerateFiles(topLevelDirectory, searchMask, SearchOption.AllDirectories); 
       foreach (var file in files) 
       processFile(file); 
     } 

     private static void ProcessAFile(string fileName) 
     { 
      var lines = File.ReadAllLines(fileName); 
      // perform processing. 
     } 

     public static void Main(params string[] args) 
     { 
      ProcessAllFilesUnderDirectory(@"\camis01srfs04\DATA\Stats Analysis Project\Sobeys Stats\Atlantic", "*.txt", ProcessAFile); 
     } 
    } 
}//Error 2