title: Error: Extension methods must be defined in a top level static class (CS1109)
body: <p>I'm trying to make a countdown program, which I can start and stop and set the value of the countdown to 10 minutes if needed.</p>
  
  <p>But I'm getting an error I don't quite understand.
  I'm not that into C#, so here's the code:</p>
  
  <p>Can some one help me a bit here ? Think I run on framework 3.0 or something ?</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Windows.Forms;
  using System.Timers;
  
  namespace PauseMaster
  {   
      public partial class MainForm : Form
      {           
          public MainForm()
          {           
              InitializeComponent();
          }
  
          private void MainForm_Load(object sender, EventArgs e)
          {               
          }
  
          private DateTime endTime;
          private void btnStartStop_Click(object sender, EventArgs e)
          {
              if(btnStartStop.Text == "START")
              {
                  int hours = int.Parse(string.IsNullOrEmpty(txtCountFromHour.TextBox.Text) || txtCountFromHour.TextBox.Text == "timer" ? "0" : txtCountFromHour.TextBox.Text);
                  int mins = int.Parse(string.IsNullOrEmpty(txtCountFromMin.TextBox.Text) || txtCountFromMin.TextBox.Text == "minutter" ? "0" : txtCountFromMin.TextBox.Text);
                  int secs = int.Parse(string.IsNullOrEmpty(txtCountFromSec.TextBox.Text) || txtCountFromSec.TextBox.Text == "sekunder" ? "0" : txtCountFromSec.TextBox.Text);
  
                  endTime = DateTime.Now.AddHours(hours).AddMinutes(mins).AddSeconds(secs);
  
                  timer1.Enabled = true;  
                  btnStartStop.Text = "STOP";
              }
              else
              {
                  timer1.Enabled = false;
                  btnStartStop.Text = "START";
              }
          }
  
          private void timer1_Tick(object sender, EventArgs e)
          {
              if (endTime &lt;= DateTime.Now)
              {
                  timer1.Enabled = false;
                  lblTimer.Text = "00:00:00";
                  btnStartStop.Text = "Start";
                  return;
              }
  
              TimeSpan ts = endTime - DateTime.Now;
              lblTimer.Text = string.Format("{0}:{1}:{2}.{3}", ts.Hours.AddZero(), ts.Minutes.AddZero(), ts.Seconds.AddZero());
          }
  
          public static class IntExt
          {
              public static string AddZero(this int i) // GETTING ERROR HERE AT 'AddZero'
              {
                  int totLength = 2;
                  int limit = (int)Math.Pow(10, totLength - 1);
                  string zeroes = "";
                  for (int j = 0; j &lt; totLength - i.ToString().Length; j++)
                  {
                      zeroes += "0";
                  }
                  return i &lt; limit ? zeroes + i : i.ToString();
              }
          }     
      }       
  }
  </code></pre>