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

E como seria feito a recuperação em tempo de compilação?

Nas aulas em formato de vídeo é apresentado uma solução para o texto do help na forma de atributo. Ainda na aula é falado que a execução do processo é realizado em tempo de execução, uma outra forma que imaginei de se fazer era através de herança em que as classes dos comandos receberiam por herança a classe Documentação e nelas seriam atribuídas os textos e inseridos na classe help explicitamente por injeção de dependência. Porém essa solução também seria em tempo de execução. Como as strings de documentação são textos estáticos, haveria como realizar essa injeção de texto de documentação em tempo de compilação (no momento do build do programa)?

2 respostas
solução!

Oi, André, tudo bem?

O C# é uma linguagem de programação compilada, o que significa que o código é transformado em um formato de máquina antes de ser executado. Isso significa que algumas coisas só podem ser feitas em tempo de execução, como a injeção de dependência que você mencionou.

No entanto, se você está procurando uma maneira de ter as strings de documentação disponíveis em tempo de compilação, uma possível solução seria usar constantes em vez de atributos. As constantes em C# são resolvidas em tempo de compilação, o que significa que você pode ter todas as suas strings de documentação definidas como constantes e acessá-las diretamente.

Dessa forma, todas as suas strings de documentação estariam disponíveis em tempo de compilação. No entanto, tenha em mente que isso torna seu código menos flexível, pois você não pode alterar o valor dessas constantes em tempo de execução.

Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Realmente, creio que somente a variável estando com a palavra-chave "const" já só suficiente para o compilador substituir o valor em todas as referências dessa variável em tempo de compilação. Se for criado uma variável "public const" seria possível fazer essa substituição entre classes em tempo de compilação. Obrigado pela dica!