Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendi o exercício "Métodos de Extensão" - "EscreverNaTela(this object obj)"

PesoALL,

Eu entendi que o parâmetro precisa ser um "object" para receber qualquer tipo válido.

public static void EscreverNaTela(this object obj)
{
    Console.WriteLine(obj);
}

Mas não entendi ONDE dentro do "Main" isso funcionaria, tentei simular o exemplo:

1.EscreverNaTela(); // Console.WriteLine(1);
"Teste método de extensão".EscreverNaTela(); // Console.WriteLine("Teste método de extensão");
ContaCorrente conta = new ContaCorrente(245, 34820);
conta.EscreverNaTela(); // Console.WriteLine(conta);

Somente apareceu a mensagem: CS1061: 'int' não contém uma definição para "EscreverNaTela" e NÃO foi possível encontrar nenhum método de extensão...

Obrigado,

Fabio I.

3 respostas
solução!

Não acredito ... coloquei dentro da classe "ListExtensoes" e funcionou!

using System;
using System.Collections.Generic;

namespace ByteBank.SistemaAgencia
{
    public static class ListExtensoes
    {
        public static void AdicionarVarios(this List<int> listaDeInteiros, params int[] itens)
        {
            foreach (int item in itens)
            {
                listaDeInteiros.Add(item);
            }
        }

        public static void EscreverNaTela(this object obj)
        {
            Console.WriteLine(obj);
        }
    }
}

Obrigado.

Fabio I.

Boa noite Fábio,

Que bom que conseguiu resolver.

Att.

Boa noite André,

Foi bobeira minha... de novo... KKKKK!

Valew!