Ссылка на объект не указывает на экземпляр объекта 1с
Ссылка на объект не установлена в экземпляр объекта.
ОТВЕТЫ
Ответ 1
Типы ссылок, если они объявлены, не имеют значения по умолчанию:
Если вы попытаетесь получить доступ к члену экземпляра класса с использованием нулевой ссылки, вы получите System.NullReferenceException. Это то же самое, что и ссылка объекта, не установленная на экземпляр объекта.
Следующий код является простым способом воспроизведения этого:
Это очень распространенная ошибка и может возникнуть из-за всех причин. Основная причина действительно зависит от конкретного сценария, с которым вы столкнулись.
Если вы используете API или вызываете методы, которые могут возвращать null, тогда важно обработать это изящно. Основной метод, описанный выше, может быть изменен таким образом, что исключение NullReferenceException никогда не будет видно пользователю:
Некоторые команды, использующие Resharper, используют атрибуты JetBrains для комментирования кода, чтобы выделить, где ожидаются (не) нули.
Ответ 2
Еще один простой способ получить это:
Ответ 3
Не быть тупым, но это означает именно то, что он говорит. Одна из ваших ссылок на объекты - NULL. Вы увидите это при попытке доступа к свойству или методу объекта NULL'd.
Ответ 4
В двух словах это означает, что вы пытаетесь получить доступ к объекту, не создавая его. Возможно, вам нужно будет использовать ключевое слово "new", чтобы создать его экземпляр вначале. Создайте его экземпляр.
Вам нужно будет использовать:
Надеюсь, я дал понять.
Ответ 5
Это означает, что вы сделали что-то вроде этого.
И без делать
if(myObject!=null) , вы продолжаете делать myObject.Method();
Ответ 6
что означает эта ошибка? Ссылка на объект не установлена в экземпляр объекта.
точно, что он говорит, вы пытаетесь использовать нулевой объект, как если бы он был правильно ссылочный объект.
Ответ 7
В большинстве случаев, когда вы пытаетесь определить значение в объекте, а если значение равно null, возникает такое исключение. Пожалуйста, проверьте эту ссылку.
для самообучения вы можете поместить некоторые условия проверки. как
Ответ 8
Я столкнулся с проблемой, пока я пытался работать с приложением Smartcard, у нее есть один компонент COM, который скомпилирован с помощью платформы dot net 2.0 нашими старшими разработчиками, когда я пытался использовать эти компоненты DLL с моим проектом, который был разработан в рамках 4.0. Когда VS 2010 конвертирует это приложение vs2008 в vs2010, я получил ссылку "Ссылка на объект", не установленную в экземпляр объекта.. Когда я попытался отслеживать, я обнаружил, что ошибка находится на нескольких формах, которые используя эту ссылочную dll (которая скомпилирована с фреймворком 2.0).
Я открыл файл resx этих форм и изменил строку ниже
Итак, что я изменил здесь, я просто изменил его версию 4.0.0.0 на 2.0.0.0, и он отлично работает.
Я думаю, что это понижающий, но не весь проект, только несколько форм находятся под фреймворком 2.0, и это вообще не повлияет на проект.
Ответ 9
Если у меня есть класс:
а затем выполните:
Вторая строка вызывает это исключение, потому что я вызываю метод на ссылочном типе, который null (т.е. созданный путем вызова myClass = new MyClass() )
Что означает «Ссылка на объект не указывает на экземпляр объекта»?
Как мы уже поясняли выше, возникновение данной ошибки связано с так называемой «нулевой ссылкой». Когда значений какого-либо из объектов кода не задано, и программа вместо данного значения видит нуль.
Ошибка «нулевой ссылки» составляют значимую часть в числе всех ошибок приложений. Обычно это простая проблема, вызванная отсутствием дополнительной логики в программе, предполагающей наличие допустимых значений для всех имеющихся в ней объектов.
Вы также можете столкнуться с исключением нулевой ссылки в ситуации, когда любой из типов объектов является нулём. Например, в приведенном ниже коде объект SqlCommand никогда не инициализируется. Отсутствие SQL-запроса может стать серьезной проблемой для вашего приложения. Иногда нулевую строку можно просто проигнорировать, и двигаться дальше. В других же случаях, как и в случае с SqlCommand, это может стать фатальной ошибкой, игнорировать которую не представляется возможным.
Использование условного оператора Null для избежания NullReferenceExceptions
Объединение нулей во избежание NullReferenceExceptions
Простые примеры нулевых значений, вызывающих проблемы
Наиболее распространёнными причинами рассматриваемой ошибки являются неверные настройки, вызовы базы данных, а также вызовы типа API, не возвращающие ожидаемые значения.
Рассматриваемая проблема может быть решена добавлением логики и кода, позволяющих гарантировать, что объекты не являются нулями. Советы, позволяющие избавиться от ошибки сводятся примерно к следующему:
- Инициализируйте переменные с допустимыми значениями;
- Если переменная может быть нулевой, то проверьте код на нули, и обработайте его соответствующим образом;
- Используйте оператор ? с методами, когда возможно. stringvar?.ToUpper();
- Применяйте инструменты уровня «Resharper» для выявления потенциальных нулевых ссылок.
Заключение
Читайте также: