Newuser
Newuser

Reputation: 399

Debugging "}" related errors in c#

I'm trying to read 1000s of textfiles from a server. (Using c#, winforms)

The problem is that I'm getting 2 errors which I don't know why they appear.

Error 1) "} Expected" 2) "Type or namespace definition":

For error 1, I see a } to close the method so why does it appear. Also for error 2, everything is in the namespace, so why is it appearing?

Code:

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

Upvotes: 1

Views: 90

Answers (1)

MarcinJuraszek
MarcinJuraszek

Reputation: 125630

You can't place one method within another.

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

Upvotes: 8

Related Questions