Você pode detectar se um campo C # foi atribuído a um valor padrão?

Digamos que você tenha uma declaração de classe, por exemplo:


class MyClass
{
  int myInt=7;
  int myOtherInt;
}

Agora, existe uma maneira no código genérico, usando reflexão (ou qualquer outro meio, para esse assunto), que eu possa deduzir que myInt tem um valor padrão atribuído, enquanto myOtherInt não? Observe a diferença entre ser inicializado com um valor padrão explícito e ser deixado como seu valor padrão implícito (myOtherInt será inicializado como 0, por padrão).

Da minha própria pesquisa, parece que não há como fazer isso - mas pensei em perguntar aqui antes de desistir.

[Editar]

Mesmo com os tipos anuláveis e de referência, desejo distinguir entre aqueles que foram deixados como nulos e aqueles que foram explicitamente inicializados como nulos. Isso é para que eu possa dizer que os campos com um inicializador são "opcionais" e outros são "obrigatórios". No momento, estou tendo que fazer isso usando atributos - o que me incomoda com a redundância de informações nesse caso.

questionAnswers(12)

yourAnswerToTheQuestion