Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Причина Вы не можете сделать этого, состоит в том, потому что она конкретно запрещается в спецификации языка C#:
классу А или структуре разрешают объявить, что преобразование от исходного типа S до целевого типа T обеспечило, все следующее верно:
- ...
- Ни S, ни T не
object
или интерфейсный тип .
и
, который Пользовательским преобразованиям не позволяют преобразовать от или до интерфейсные типы . В частности, это ограничение гарантирует, чтобы никакие пользовательские преобразования не происходили при преобразовании в интерфейсный тип , и что преобразование в интерфейсный тип успешно выполняется, только если объект, преобразовываемый на самом деле, реализует указанное Источник интерфейсного типа .