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