Existe uma maneira de ter uma classe c # manipular suas próprias exceções de referência nula

Questão

Eu gostaria de ter uma classe que seja capaz de manipular uma referência nula de si mesma. Como posso fazer isso? Os métodos de extensão são a única maneira que eu posso pensar para fazer isso, mas pensei em perguntar no caso de haver alguma coisa bacana que eu não sabia sobre c #.

Exemplo

Eu tenho uma aula chamadaUser com uma propriedade chamadaIsAuthorized.

QuandoUser está devidamente instanciadoIsAuthorized tem uma implementação. No entanto, quando meuUser referência contém nulo eu gostaria de uma chamada paraIsAuthorized para retornar false em vez de explodir.

Solução

Muitas boas respostas. Acabei usando três deles para resolver o meu problema.

Eu usei o padrão de design Null Object sugerido por Zaid Masud.Combinei isso com a sugestão da Belmiris de usar struct para que eu não pudesse ter uma referência nulaE tenho uma ótima explicação para o fato de o C # funcionar dessa maneira e como eu poderia realmente resolvê-lo com Jon Hanna

Infelizmente, só posso escolher uma delas como minha resposta aceita. Se você estiver visitando esta página, reserve um tempo para votar em todas as três e em todas as outras respostas excelentes que foram dadas.

questionAnswers(6)

yourAnswerToTheQuestion