Altere temporariamente o valor de uma variável
Em uma implementação de API em que estou invadindo, há a necessidade de alterar repetidamente algumas variáveis temporariamente, antes de executar alguma tarefa, e alterá-las novamente depois que a tarefa é executada para o que eram ante
O código atual é assim:
var _oldValue = _variable;
_variable = tempValue;
try
{
doIt();
}
finally
{
_variable = oldValue;
}
azer isso muito é chato, feio, difícil de manter e enterra os algoritmos reais sob muita confusão, que são apenas artefatos de implementaçã
No C ++, eu criaria uma classe que armazena o valor antigo em algum lugar durante a construção e o restaura em seu destruidor:
{
temp_value tmp(variable_, temp_val);
do_it();
}
Ao tentar fazer algo semelhante em C #Eu falhe porque aparentemente C # não pode armazenar referências a outros objetos nas classes.
Então, o que eu teria que fazer em C # para remover essa confusã
P.S .: Sinta-se à vontade para adicionar outras tags que desejar. Não consegui encontrar nenhu