2009-03-31 7 views
1

J'ai un code en C#. J'utilise une chaîne comme paramètre dans le constructeur pour donner le chemin du fichier, puis je veux le convertir en Uri pour interagir avec le reste du code dans une classe différente. Comment puis-je faire cela? Quelqu'un peut-il dire la syntaxe?comment convertir une chaîne passée dans un constructeur à Uri?

public string m_DTBook_FilePath; 
    public DTBooktoXukConversion(string bookfile) 
    { 
     m_DTBook_FilePath = bookfile; 
     Uri uri = new Uri(m_DTBook_FilePath); 
    }  

Quel est le problème dans cette syntaxe?

Répondre

1

Il n'y a rien de mal avec cette syntaxe. Qu'est-ce qui ne va pas quand vous l'essayez?

Notez que dans l'extrait que vous avez donné, vous ne faites quoi que ce soit avec l'Uri après la construction - si le problème est que vous essayez d'utiliser plus tard m_DTBook_FilePath comme Uri, alors vous devriez effectivement ont:

public Uri m_DTBook_FilePath; 
public DTBooktoXukConversion(string bookfile) 
{ 
    m_DTBook_FilePath = new Uri(bookfile); 
} 

(je fortement déconseiller d'avoir un champ public dans votre code réel, en passant.)

+0

Surtout PREFIXÉ « m » –

+0

Il n'y avait pas error.i voulais juste confirmer .i adopter notre méthode, un d le faire: commutateur (m_DTBook_FilePath) {case "* .opf": el(); pause; case "* .xml": tr(); break;} L'erreur du champ de commutateur est: Une valeur de type intégral attendue. Dans le cas, l'erreur est: impossible de convertir implicitement la chaîne en uri –

Questions connexes