Использование System.Version для общего назначения версий - PullRequest
3 голосов
/ 21 января 2011

Сценарий: Мне нужно было отслеживать несколько случайных номеров версий для нескольких случайных вещей в моем коде. Я хотел определить класс, чтобы отслеживать их и поместить в форму, в которой я могу легко вызывать и манипулировать. Я подумал об использовании System.Version, но он был описан как класс для управления версиями определенных вещей:

Представляет номер версии сборки, операционной системы или общеязыковой среды выполнения.

Вопрос: Допустимо ли использовать класс System.Version для вещей, отличных от «сборки, операционной системы или общеязыковой среды выполнения»?

Ответы [ 2 ]

2 голосов
/ 21 января 2011

Класс System.Version очень прост, всего с несколькими свойствами; Build, Major, MajorRevision, ... и не более того. Если это соответствует вашим потребностям, и вы не обнаруживаете лишних свойств на вашем интерфейсе, я думаю, вы могли бы использовать его. Однако следует обратить внимание на то, что System.Version запечатан, поэтому, если в какой-то момент вы обнаружите, что он не соответствует вашим потребностям и вы захотите его расширить, вы не сможете.

Лично, с таким простым классом System.Version и отсутствием возможности расширения в будущем, я бы создал свой собственный тип.

1 голос
/ 21 января 2011

Стоит также отметить, что даже Microsoft не использует System.Version во всех случаях ... она не предназначена для универсального типа версий в духе DateTime.

...