Bom dia, ao responder a pergunta da questão "Criando delegates" da aula 3 do módulo 7 da formação certificação C#, temos que:
public string InserirTextoEmObjeto(string texto, bool manterMaiusculasMinusculas, object objeto)
{
...
}
A assinatura do método InserirTextoEmObjeto combina com quais delegates abaixo?
Dentre a escolha entre duas opções, assumi que
public delegate string D1(string p1, bool p2, object objeto);
e
public delegate string D4(string texto, bool manterMaiusculasMinusculas, object objeto);
estavam corretas. Ao submeter a resposta, a primeira opção apareceu como erro e a mensagem:
"Correta! Esta assinatura combina exatamente com a assinatura de InserirTextoEmObjeto, por mais que o nome dos parâmetros sejam diferentes;"
E a opção que estaria correta segundo o gabarito era
public delegate string D2(string p1, bool p2, MeuObjetoComplexo p3);
Com a mensagem:
"Correta! Esta assinatura combina com a assinatura de InserirTextoEmObjeto, pois nosso método exige um object em último argumento e o tipo MeuObjetoComplexo é mais derivado ainda;"
Só que com isso, temos 3 opções corretas (D1, D2 e D4) e assim não consigo validar se as minhas opções estão de fato corretas ou não. Qual seria a resposta certa nesse caso? A questão realmente está com erro?