2
respostas

IComparer

Boa noite, Quando implementei o método da interface Icomparer ele apareceu dessa forma public int Compare([AllowNull] ContaCorrente x, [AllowNull] ContaCorrente y) { throw new NotImplementedException(); } Fiquei curioso em saber qual o nome dessa Tag, Classe, na verdade o que é esse [AlloNull]

2 respostas

Olá Rafael, tudo bem?

Fiz vários testes, tentando fazer com que fosse possível a utilização do atributo AllowNull na implementação da interface.

É muito estranho ter aparecido para você com a implementação automática. Visto que, ele só é válido para propriedades, indexadores e campos. Seu código está semelhante ao do professor?

Este atributo funciona para "liberar" valores nulos, mas para o Compare ele seria inútil, já que por padrão ele aceita nulos. Inclusive, na aula o professor faz validações caso algum valor seja nulo:

           if(x == null)
            {
                return 1;
            }

            if (y == null)
            {
                return -1;
            }

Qualquer dúvida estamos por aqui :)

Abraços e bons estudos!

Olá Ana, sim meu código esta bem parecido com o dele, o que achei estranho também foi isso ele ter aparecido de forma automática na implementação do método. Mais já valeu muito saber suas validades.