Другим случаем, когда NullReferenceExceptions
может случиться, является (неправильное) использование оператора as
:
class Book {
public string Name { get; set; }
}
class Car { }
Car mycar = new Car();
Book mybook = mycar as Book; // Incompatible conversion --> mybook = null
Console.WriteLine(mybook.Name); // NullReferenceException
Здесь Book
и Car
являются несовместимыми типами; a Car
не может быть преобразован / передан в Book
. Когда этот сбой завершается неудачно, as
возвращает null
. Используя mybook
после этого, вы вызываете NullReferenceException
.
В общем случае вы должны использовать cast или as
, как показано ниже:
Если вы ожидаете преобразования типа в всегда преуспевает (т. е. вы знаете, какой объект должен быть впереди времени), тогда вы должны использовать cast:
ComicBook cb = (ComicBook)specificBook;
Если вы не уверены в типе, но хотите попробовать , чтобы использовать его как определенный тип, затем используйте as
:
ComicBook cb = specificBook as ComicBook;
if (cb != null) {
// ...
}
Похоже, у вас нет всех необходимых частей для npm для работы в Windows. Попробуйте сделать «npm install --global windows-build-tools», и как только это будет сделано, перезапустите «npm install». Для получения дополнительной информации см. https://www.npmjs.com/package/windows-build-tools
Arnaud
В моем случае я сделал
$ npm update
blockquote>Это должно включать в себя fabric-client@1.1.2 (at DateTime.Now = Jun / 09/2018)
node query.js
, не могу найти модуль «C: \ Go \ src \ github.com \ fabric-samples \ fabcar\node_modul es \ grpc \ src \node \ extension_binary \ grpc_node.node ', Затем я запустилnpm install grpc
. Наконец, он работает нормально. Спасибо большое. – 季谢尔 22 July 2017 в 05:20