List 对象引用未设置为对象的实例-“;对象包括一个列表属性";

List 对象引用未设置为对象的实例-“;对象包括一个列表属性";,list,exception,object,error-handling,List,Exception,Object,Error Handling,我只是创建一个类的对象。该类的属性之一是另一个类的对象集列表。当我想从这个列表中的第二个类中强制转换一个对象时,会出现错误“对象引用未设置为对象的实例” 这是第一类的代码: public class RCSection<Bar> { private string RCSectionName; private int NumberOfBars; private double NumberOfInnerBars; priva

我只是创建一个类的对象。该类的属性之一是另一个类的对象集列表。当我想从这个列表中的第二个类中强制转换一个对象时,会出现错误“对象引用未设置为对象的实例”

这是第一类的代码:

public class RCSection<Bar>
    {
       private string RCSectionName;
       private int NumberOfBars;
       private double NumberOfInnerBars;
       private double NumberOfOuterBars;
       private double TransverseSpacing;


       private Steel LongitudinalSteel;
       private Steel TransevrseSteel;
       private Concrete Concrete;
       private List<Bar> LongitudinalBar;


       private Bar TransverseBar;


       private Section Section;





       public string rCSectionName
       {
           set { RCSectionName = value; }
           get { return RCSectionName; }
       }
       public int numberOfBars
       {
           set { NumberOfBars = value; }
           get { return NumberOfBars; }
       }
       public double transverseSpacing
       {
           set { TransverseSpacing = value; }
           get { return TransverseSpacing; }
       }
       public double numberOfInnerBars
       {
           set { NumberOfInnerBars = value; }
           get { return NumberOfInnerBars; }
       }
       public double numberOfOuterBars
       {
        set { NumberOfOuterBars = value; }
        get { return NumberOfOuterBars; }
       }



       public Steel longitudinalSteel
       {
           set { LongitudinalSteel = value; }
           get { return LongitudinalSteel; }
       }
       public Steel transverseSteel
       {
           set { TransevrseSteel = value; }
           get { return TransevrseSteel; }
       }
       public Concrete concrete
       {
           set { Concrete = value; }
           get { return Concrete; }
       }
       public List<Bar> longitudinalBar
       {
           set { LongitudinalBar = value; }
           get { return LongitudinalBar; }
       }
       public Bar transverseBar
       {
           set { TransverseBar = value; }
           get { return TransverseBar; }
       }



       public Section section
       {
           set { Section = value; }
           get { return Section; }
       }
公共类RCSection
{
私有字符串名称;
私人酒吧;
私人双号酒吧;
私人双倍号码;
私人双横向空间;
私家纵向钢;
私营钢铁公司;
私人混凝土;
私有列表纵向BAR;
私人酒吧;
私人组;
公共字符串rCSectionName
{
设置{RCSectionName=value;}
获取{return RCSectionName;}
}
公共整数条
{
设置{NumberOfBars=value;}
获取{returnnumberofbars;}
}
公共双横向空间
{
设置{TransverseSpacing=value;}
获取{return TransverseSpacing;}
}
公共双号酒吧
{
设置{NumberOfInnerBars=value;}
获取{returnnumberofinnerbars;}
}
公众双倍号码
{
设置{NumberOfOuterBars=value;}
获取{returnnumberofouterBars;}
}
公共钢纵梁
{
设置{纵向钢=值;}
获取{返回纵向钢;}
}
公共钢横梁
{
设置{transavrsesesteel=value;}
获取{return transaversteel;}
}
公共混凝土
{
设置{Concrete=value;}
获取{return Concrete;}
}
公共列表纵向杆
{
设置{longitudiolbar=value;}
获取{返回纵向lbar;}
}
公共酒吧
{
设置{TransverseBar=value;}
获取{return TransverseBar;}
}
公共部门
{
设置{Section=value;}
获取{return Section;}
}
}

首先我想知道,我为列表创建属性的方法,对吗?! 之后,下面的代码与使用此类的对象以及在其中强制转换对象有关

  for (int i = 0; i < myRCSection.numberOfBars; i++)
  {

       Bar mybar = new Bar(newFormRCSection.comboBoxSteelSize1.Text,"SI");
       myRCSection.longitudinalBar[i] = mybar;//Error will appear here :(

  }
for(int i=0;i
我找到了答案。当我定义RCSection的新对象时,我应该定义与此对象相关的列表

RCSection myRCSection= new RCSection<Bar>();
myRCSection.longitudinalBar = new List<Bar>();
RCSection myRCSection=new RCSection();
myRCSection.longitudiolbar=新列表();