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)

Se eu criar novas classes de extensão, é possível chamar o método da mesma forma na main ?

Por exemplo, criei a classe:

static class ImpressoraExtentions2
    {
        public static void ImprimirCabecalho(this Impressora impressora)
        {
            Console.WriteLine($"<head>{impressora.Cabecalho}</head>");
        }
    }

Como faço para chamá-lo na main simplesmente assim ? impressora.ImprimirCabecalho();

2 respostas
solução

Oi Beatriz, tudo bem?

Basta você colocar esse mesma linha no método Main():

impressora.ImprimirCabecalho();

Testei esse programa com sucesso, veja:

https://dotnetfiddle.net/JTQVeW

using System;

public class Program
{
    public static void Main()
    {
        var impressora = new Impressora("Este é um cabeçalho");
        impressora.ImprimirCabecalho();
    }
}

public class Impressora
{
    public string Cabecalho { get; set; }
    public Impressora(string cabecalho)
    {
        Cabecalho = cabecalho;
    }
}

static class ImpressoraExtentions2
    {
        public static void ImprimirCabecalho(this Impressora impressora)
        {
            Console.WriteLine($"<head>{impressora.Cabecalho}</head>");
        }
    }

Deve instanciar a classe e depois chamar o método desejado.

 ImpressoraExtentions2 impressora = new ImpressoraExtentions2();
        impressora.ImprimirCabecalho();