0

現在、私はこのリストを持っています:

List<Car> cars = new List<Car>()
              {
                new Car()
                { 
                    CarId = 1, 
                    CarName = "BMW", 
                    CarMod = "M6",                   
                }, 
              }

Form1.cs の下。おそらく MyCars.cs という名前のクラスに入れ、Form1.cs の下にあるこの linq で呼び出すことができるようにしたいと考えています。

private void btn_Click(object sender, EventArgs e)
        {
            string entered = txtBox.Text;

            var q = from car in cars
                        where car.CarMod.Contains(entered)
                        select cars;

            dataGridView1.DataSource = query.ToList();      
        }

「現在のコンテキストには存在しない名前の車」を取得せずに呼び出すにはどうすればよいですか?

それをクラスに入れる方がより良く、よりエレガントではないでしょうか? MyCars.cs というクラスを作ろうと考えていました。

すべての助けに感謝します

4

1 に答える 1

1

私が間違っていない限り、あなたの目標は新しいクラスタイプを作成することではなく、車のロジックを別のファイルに入れることですか? クラス名が同じであれば、別のファイルに入れることができます。フォームが .net 2.0 以降の「通常の」方法で作成されている場合、それらは部分クラスにある必要があります

//Form1.cs
namespace A
{
   public partial class Form1
   {
       public Form1()
       {
           InitalizeComponent();
       }
   }
}

他のファイルで同じ名前空間と部分クラスの両方を使用している限り、問題ありません。

//MyCars.cs
namespace A
{
   partial class Form1
   {
       List<Car> cars = ..... /etc
   }
}
于 2012-06-27T12:16:12.727 に答える