Não existe contexto atual

Conheci esta comunidade recente através de uma apostila de C# que recomendou…
Pois bem, estou fazendo um dos exercícios desta mesma apostila e me deparei com esse problema de não contexto atual, como sou iniciante em linguagem C#, gostaria que os Srs. Pudessem me explicar e se possível mostrar como posso resolver esse probleminha…
Desde já muito obrigado!!

Segue o código:

Observação: a linha onde acontece o erro tem um comentário ao lado.

namespace WindowsFormsApp2
{
    class Conta
    {
        public double saldo;
        public string titular;
        public int numero;

        public void Deposita(double valor)
        {
            this.saldo += valor;
        }
        public bool Saca(double valor)
        {
            if(this.saldo >= valor)
            {
                this.saldo -= valor;
                return true;
            }
            return false;
        }
        public void Tranfere(double valor, Conta destino)
        {
            if (this.Saca(valor))
            {
                destino.Deposita(valor);
            }
        }
    }

}


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

        private void button1_Click(object sender, EventArgs e)
        {
            Conta philip = new Conta();
            philip.titular = "Philip";
            philip.numero = 1;
            philip.saldo = 10000.0;
            philip.Deposita(50.0);
            philip.Saca(50.0);
            philip.Tranfere(50.0, leonardo ); // o erro acontece aqui nesta linha quando tento transferir  
            MessageBox.Show("Saldo: " + philip.saldo);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Conta leonardo = new Conta();
            leonardo.titular = "Leonardo";
            leonardo.numero = 2;
            leonardo.saldo = 10000.0;
            leonardo.Deposita(50.0);
            MessageBox.Show("Saldo: " + leonardo.saldo);
        }
    }
}

Você precisa definir essas classes no contexto maior, elas estão em métodos diferentes então nenhum das duas se conhecem é por isso então faça assim:

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
		Conta philip = new Conta(); // no contexto da classe
		Conta leonardo = new Conta(); // no contexto da classe
		
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {            
            philip.titular = "Philip";
            philip.numero = 1;
            philip.saldo = 10000.0;
            philip.Deposita(50.0);
            philip.Saca(50.0);			
            philip.Tranfere(50.0, leonardo );  
            MessageBox.Show("Saldo: " + philip.saldo);
        }

        private void button2_Click(object sender, EventArgs e)
        {            
            leonardo.titular = "Leonardo";
            leonardo.numero = 2;
            leonardo.saldo = 10000.0;
            leonardo.Deposita(50.0);
            MessageBox.Show("Saldo: " + leonardo.saldo);
        }
    }
}

Vale lembrar que isso resolve o seu problema, mas, eu não posso afirmar que seja a melhor solução, depende da sua regra de negócio.

Como você tem dois botões já acho que tem coisa errada.

Obrigado! Deu certo!

É só um exercício de apostila, por isso apenas os dois botões…