2009-04-28 8 views
0

J'ai récemment pris conscience que notre code a plusieurs implémentations d'un analyseur de version (c'est le code pour créer un objet Version à partir d'une chaîne de version). Pensant que c'était une de ces fois où les gens ne pouvaient pas prendre la peine de lire les documents, je me suis dit que je sauterais dans MSDN, trouver la méthode "standard" pour le faire et remplacer les différentes méthodes par des appels à celui-ci. À ma grande surprise, la classe Version n'a pas de méthode Parse, et il n'y en a pas non plus sur Convert ou ailleurs que j'ai cherché. Suis-je juste manquant, ou n'y a-t-il pas de méthode dans l'API .Net pour convertir une chaîne de version en un objet Version. S'il vous plaît noter que j'ai le code pour le faire. En fait, j'ai deux approches différentes qui sont utilisées dans plusieurs méthodes différentes. Ce que je cherche est un dans la bibliothèque standard.Existe-t-il un moyen "standard" d'obtenir une classe CLR Version à partir d'une chaîne?

Répondre

0

Ce problème est dû au fait que la chaîne de version que nous obtenons de notre matériel n'est pas une chaîne de version "standard". Il est de la forme major.minor.patch (build), plutôt que major.minor.build.patch.

0

Pourriez-vous écrire une méthode d'extension pour un Version.Parse? De cette façon, ce serait au même endroit.

En C# ...

Version Parse(this Version ver, string Value) { 
    // your conversion here. 
} 

En VB ...

Imports System.Runtime.CompilerServices 

Module VersionExtensions 

    <Extension()> _ 
    Public Function Parse(ByVal aVersion As Version, ByVal aValue As String) As Version 
     ' Conversion Here 
    End Function 

End Module 
0

Je suppose que la "méthode standard" que vous recherchez est le Version constructor avec un seul paramètre de chaîne?

Questions connexes