Pensei em usar metodos estaticos, pulando as etapas de geracao de um novo objeto no Metodo Main. Quais as implicacoes negativas deste jeito?
namespace DesafioClassesOperacao.Operacoes
{
    public class Soma
    {
        public static double Adicao(double value1, double value2)
        {
            return value1 + value2;
        }
    }
}
namespace DesafioClassesOperacao.Operacoes
{
    public class Subtracao
    {
        public static double Menos(double v, double v1)
        {
            return v - v1;
        }
    }
}
namespace DesafioClassesOperacao.Operacoes
{
    public class Multiplicacao
    {
        public static double Vezes(double v1, double v2)
        {
            return v1 * v2;
        }
    }
}
namespace DesafioClassesOperacao.Operacoes
{
    public class Divisao
    {
        public static double Dividir(double v1, double v2)
        {
            if(v2 == 0)
            {
                Console.WriteLine("Impossivel dividir por 0");
                return 0;
            }
            else
            {
                return v1 / v2;
            }
        }
    }
}
internal class Program
{
    private static void Main(string[] args)
    {
        double n1 = 10;
        double n2 = 20;
        Console.WriteLine(Soma.Adicao(n1, n2));
        Console.WriteLine(Subtracao.Menos(n1, n2));
        Console.WriteLine(Multiplicacao.Vezes(n1, n2));
        Console.WriteLine(Divisao.Dividir(n1, n2));
    }
}