Буквально самый простой способ исправить NullReferenceExeption имеет два пути. Если у вас есть GameObject, например, с прикрепленным скриптом и переменной с именем rb (rigidbody), эта переменная начнет пустую, когда вы начнете игру. Вот почему вы получаете NullReferenceExeption, потому что на компьютере нет данных, хранящихся в этой переменной.
В качестве примера я буду использовать переменную RigidBody. Мы можем добавить данные действительно легко на самом деле несколькими способами:
rb = GetComponent<Rigidbody>();
. Эта строка кода работает лучше всего под ваши функции Start()
или Awake()
. rb = AddComponent<RigidBody>();
Дальнейшие заметки: если вы хотите, чтобы единство добавлялось компонент для вашего объекта, и вы, возможно, забыли добавить его, вы можете ввести [RequireComponent(typeof(RigidBody))]
над объявлением класса (пробел ниже всех ваших приложений). Наслаждайтесь и получайте удовольствие от игр!
Мы (команда ASP.NET) в настоящее время не планируем поддерживать модель страницы WebForms с использованием синтаксиса Razor. Кроме того, маловероятно, чтобы мы когда-либо всерьез рассматривали это, поскольку модели слишком отличаются друг от друга, чтобы они работали вместе.
Вы могли бы интегрировать его с помощью RazorEngine, доступного из Codeplex . Это позволяет обрабатывать бритву за пределами MVC. Хотя вы не получаете все функции, которые вы получаете из версии Razor MVC, например @Html
и @Url
и другие.
Я смею утверждать, что Microsoft это рассмотрела, но официального слова по этому вопросу нет. Поскольку у вас не должно быть кода C # или VB в файле ASPX, вам нужно задуматься о том, как добавить поддержку Razor в Web Forms. Код по-прежнему будет (частичным) файлом класса. Вы не ставили бы Razor там больше, чем вы бы поместили в файл класса в веб-страницах или MVC. И обмен файлами управления сервером, и все эти хорошие декларативные материалы для Html Helpers устраняют одну из основных причин перехода на веб-форму, IMO.
Это действительно не так сложно сделать. Работая над этим прямо сейчас. Захватите RazorEngine от CodePlex. Он позволяет компилировать файлы RZOR cshtml / vbhtml в класс во время выполнения.
Затем вы можете взять этот класс и использовать его с сервера управления ASP.Net внутри метода Render. Это отличный способ получить HTML из тела серверного элемента управления. Много, намного чище.
Теперь вы также можете добавить некоторые методы, которые вы можете вызвать из Razor. Например, добавьте что-то вроде RenderChild. Кроме того, вы можете установить Server Control как модель, доступную для Razor. Затем вы можете вызвать серверный элемент управления. Включая что-то вроде захвата одного из его дочерних элементов управления и вызова Render.
Вы можете использовать страницы Razor без MVC; это называется ASP.Net WebPages.
Просто добавьте файлы .CSHTML в обычный проект ASP.Net 4.0.
Я объяснил, как это работает в моем блог.