2012-06-27 2 views
0

В настоящее время у меня есть этот список:Где я могу разместить свой список?

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

Под Form1.cs. Я хочу, чтобы это в классе, возможно, называлось MyCars.cs и иметь возможность вызвать его с помощью этого linq, который находится под Form1.cs.

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

Большое спасибо за всю помощь

+1

Примечание: MyCars.cs является файлом и может содержать много классов. кроме того, странно, что вы знаете списки, linq и не знаете, как переместить класс в другой файл:/ – Reniuz

+0

Покажите, как выглядит MyCards.cs. – Arran

+0

Я хочу: Перечислите автомобили = новый список () { новый автомобиль() { CarId = 1, CarName = "BMW", CarMod = "M6", }, } в MyCars.cs. Но у меня есть проблемы с вызовом в Form1.cs, потому что я получаю сообщение об ошибке «Домены имени автомобилей существуют в текущем контексте» в Form1.cs – Pota

ответ

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 
    } 
} 
+0

Как я сказал Тиму, я просто хочу, чтобы в другом месте, кроме Form1.cs, чтобы этот класс был чистым от кода, насколько это возможно. Чтобы сделать мое решение более элегантным. :) – Pota

+0

@Pota Uhm, да, это именно то, что должно выполнить это решение, нижняя логика, представляющая файл mycars.cs. Если вы также не хотите, чтобы логика инициализации была из формы Form1? Имея как разделение физического файла, так и класса? (вам все равно придется объявлять вашу личную переменную внутри класса form1) –

+0

Я до сих пор получаю сообщение об ошибке «Имя пользователя dosent существует в текущем контексте» Ok Lemme объясните еще раз. У меня есть 2 класса в папке Classes. Cars.cs и Dummies.cs, где автомобили содержат свойства и Dummies.cs содержит Список players = new Список () и т. Д. И т. Д. Я использую Form1.cs с btnSok_click для вызова списка с Linq. Im также использует «использование MyFavCars.Classes» для извлечения классов ... Что я делаю неправильно? – Pota

Смежные вопросы