Como rastrear uma variável em tempo de execução em c #?

Como rastrear os valores de uma variável à medida que eles mudam, em tempo de execução, em C #? Estou interessado na mesma funcionalidade que o depurador fornece quando rastreio uma variável através de etapas de execução, apenas que preciso recorrer a ela no meu código. Algum tipo de observação de valor-chave, mas para todos os tipos de variáveis (local, classe, estática, etc.), não apenas propriedades. Então, basicamente, receba uma notificação quando o valor de uma variável for alterado.

questionAnswers(5)

yourAnswerToTheQuestion