![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
elenco dinâmico para comparação? Você está fora de si?
Não me interessa o tempo de execução neste caso, o tipo também pode ser definido de outras formas, por exemplo, através de uma função de substituição virtual. O código foi escrito no local em 10 minutos para mostrar o princípio e não é uma variante funcional
Qual é o objetivo da CBase? E por que 2 valores do mesmo tipo devem ser comparados?
Então você tem um erro semântico: as noções Comparador e Comparável estão misturadas. A primeira é um comparador (uma classe independente), enquanto a segunda é uma interface para o objeto a ser comparado (ou seja, ele compara este com outro objeto). Este objeto pode herdar este
Portanto, você tem um erro semântico. As noções Comparador e Comparável estão misturadas. A primeira é um Comparador (uma classe independente) e a segunda é uma interface com o objeto que está sendo comparado (ou seja, compara este com outro objeto).
Meu Número é apenas do tipo Comparável, e a interface é do tipo Comparador, e eles estão de alguma forma inteligentemente ligados em Sharp também. Neste caso, eles trabalham um através do outro. Estou lhe dizendo, não era meu objetivo copiar exatamente essa estrutura ali. O objetivo aqui é mostrar como se pode fazer uma interface baseada em modelos, que é necessariamente herdada de uma das classes que estão sendo comparadas. Esse é o mecanismo que eu vi com você e que eu gostei.
Você tem a IComparer por alguma razão herdada da Number, embora sejam entidades absolutamente diferentes.
Eu tenho Número aqui pelo tipo de objeto da classe base, bem, muito grosso modo, eu não defini um objetivo de apresentar uma arquitetura de trabalho em 100 linhas. Mas tudo herdará de um ancestral comum de qualquer forma
Aqui eles trabalham uns através dos outros.
O número pode herdar a interface IComparable e também pode devolver o IComparer para seu tipo através de um método separado.
Número não é realmente um número, ele nem mesmo tem um campo de valor se você notar. Eu acabei de chamá-lo assim... Ok, se alguma coisa que funcione para mim funcionar, então eu me ofereço para discuti-lo, mas entretanto, se meu exemplo não se encaixar em nada, simplesmente não se preocupe.
Número não é realmente um número, ele nem mesmo tem um campo de valor se você notar. Eu acabei de chamá-lo assim... OK, se eu acabar com algo viável, então me ofereço para discuti-lo, mas enquanto isso, se meu exemplo não funcionar, simplesmente deixe isso fora de sua cabeça.