Я создал набор пользовательских классов, чтобы содержать некоторую информацию, которая мне нужна, в определенном порядке. Каждый класс, помимо последнего класса, содержит массив под ним.Исключительное исключение ссылки в булевом, внутри пользовательских вложенных массивов классов
Таможенные классы заключаются в следующем.
public class Quote
{
public int ServiceQuoteId;
public bool Begin = new bool();
public PricingGroup[] PricingOptionGroup = new PricingGroup[10];
}
public class PricingGroup
{
public int ItemId;
public string ALocation;
public bool LocSet = new bool();
public Product[] Group = new Product[10];
}
public class Product
{
public int Total1;
public ProductGroup[] Set = new ProductGroup[10];
public string Term;
}
public class ProductGroup
{
public string Product;
public int Charge;
public bool Option = new bool();
}
После создания экземпляра объекта, как это (ниже)
Quote testQuote = new Quote();
Я стараюсь, чтобы проверить один из логических значений, как это (ниже.
if (!testQuote.PricingOptionGroup[0].LocSet)
Но это дает мне эту ошибку.
"An exception of type 'System.NullReferenceException' occurred in WebApplication3.dll but was not handled in user code
Additional information: Object reference not set to an instance of an object."
То, что я пытаюсь сделать, может быть невозможно; но логично, я считаю, что это имеет смысл. По моему мнению, новый bool() инициализирует false.
Я согласен с закрытием. OP - вы выделили * хранилище * для своего массива, но на самом деле не выделили его. 'PricingOptionGroup [0]' равно null. –
Не инициализирует ли это? Quote testQuote = new Quote(); –
Да, но не 'PricingGroup'. –