2010-06-21 1 views
1

Я получил автомобиль класса, и каждый класс имеет список дополнительных услуг (кожа, абс, складывающиеся зеркала и т.д. ...)объекта

public Extra 
{ 
public bool Paid {get;set;} 
public string Name {get;set;} 
public string Code {get;set;} 
} 

А теперь лучше:

class Car 
{ 
public Extra Leather {get;set;} 
public Extra FoldingMirrors {get;set;} 
public Extra Abs {get;set;} 
} 

или лучше:

class Car 
{ 
private List<Extra> _listOfExtras=new List<Extra> 

public List<Extra> ListOfExtras 
{ 
... 
} 
} 

И самое худшее:

Приложение winforms работает в автономном режиме и один в месяц отправляет мне данные.

Я должен держать список Доступный (для пользователя автомобиля foreach выберите дополнительные услуги) в этом приложении, поэтому лучше, я думаю, это вариант один.

Как сохранить этот список дополнительных услуг в моих приложениях? Он соединяется с webservice только один раз в месяц.

+0

Можете ли вы исправить некоторые проблемы с орфографией и описать последнее требование о сохранении с более подробной информацией? – Restuta

+0

@Restuta - возможно, сейчас :) – user278618

ответ

1

Список или словарь (для облегчения доступа) дополнительных функций будут более гибкими.

Это означало бы, что, поскольку дополнительные предметы были добавлены и/или удалены с автомобиля, вам не нужно будет изменять класс Car, который вам нужно будет делать, если бы каждый из них был добавлен явно.

Существует несколько способов сохранения списка локально. Вы можете сериализовать файл - либо простой текст, либо XML, который был бы лучше, поскольку у вас были классы, которые выполняют сериализацию для вас, или вы могли бы хранить его в локальной базе данных.

+0

Хорошо, но как удержать этот список дополнительных услуг в моих приложениях? Он соединяется с webservice только один раз в месяц. – user278618

+1

@phenevo - существует множество способов сохранить список локально. Вы можете сериализовать файл - либо простой текст, либо лучше XML, или вы можете сохранить его в локальной базе данных. – ChrisF

2

Лично (учитывая, что это субъективно), я бы использовал интерфейс для Extra (например, IExtra). Я также хотел бы воспользоваться вторым «вариантом» наличия списка/словаря дополнительных предметов, содержащихся в классе Car.

При необходимости они могут быть выставлены как в варианте 1, просто просмотрев значение в списке/словаре.

+0

Хорошо, но как сохранить этот список дополнительных функций в моих приложениях? Он соединяется с webservice только один раз в месяц – user278618

1

Я бы разместил его в Dictionary<string, Extra>. Вы не хотите, чтобы одни и те же дополнения показывались не один раз ... Или, по крайней мере, оплачивали их не один раз :-)

Кроме того, Extra должен быть интерфейсом (или, по крайней мере, абстрактным классом). .

Что касается памяти, вы можете сериализовать класс Car в формате XML.

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

  • Нет связанных вопросов^_^