0

クラスのオブジェクトを作成するだけです。このクラスのプロパティの1つは、別のクラスのオブジェクトのリストです。このリストの2番目のクラスからオブジェクトをキャストしたい場合、このエラー「オブジェクト参照がオブジェクトのインスタンスに設定されていません」が表示されます。

これはファーストクラスのコードです:

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; }
       }

}

最初は知りたいのですが、リストのプロパティを作成する方法は正しいですか?!その後、次のコードは、このクラスのオブジェクトの使用とその中にオブジェクトをキャストすることに関連しています。

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

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

  }
4

1 に答える 1

2

私は答えを見つけました。RCSection の新しいオブジェクトを定義したときに、このオブジェクトに関連する List を定義する必要があります

RCSection myRCSection= new RCSection<Bar>();
myRCSection.longitudinalBar = new List<Bar>();
于 2012-09-06T13:16:28.510 に答える