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=新列表();