Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Duvidas durante o teste de exceção

Apresenta o erro CS0106 na linha 24 do meu código quando insiro o identificador "public" no método Dividir, porque?

Se eu tirar o "public" compila..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank
{
    class Program
    {
        public static void Main(string[] args)
        {
            try
            {
                Metodo();

            }
            catch (DivideByZeroException)
            {
                Console.WriteLine("Não é possível fazer divisão por zero!");
            }
            Console.ReadLine();

            public static int Dividir(int numero, int divisor)
            {
                return numero / divisor;
            }

            static void Metodo()
            {
                TestaDivisao(0);
            }

            static void TestaDivisao(int divisor)
            {
                Dividir(10, divisor);
            }

        }
    }
}
2 respostas
solução

A palavra-chave public é um modificador de acesso para tipos e membros de tipo.

Logo, sua classe Program é quem deveria ter esses modificadores, não dentro do metodo main que é um membro estático da classe Program.

O certo seria tipo assim.

 class Program
    {
        public static void Main(string[] args)
        {
            try
            {
                Metodo();

            }
            catch (DivideByZeroException)
            {
                Console.WriteLine("Não é possível fazer divisão por zero!");
            }
            Console.ReadLine();



          }
           public static int Dividir(int numero, int divisor)
            {
                return numero / divisor;
            }

            private static void Metodo()
            {
                TestaDivisao(0);
            }

            protected static void TestaDivisao(int divisor)
            {
                Dividir(10, divisor);
            }
    }

Ahhh entendi, obrigado cara!