2009-05-14 5 views
1

Les documents pour Uri.LocalPath ne disent pas ce qui se passe si vous lui alimentez un chemin non local comme http://stackoverflow.com/. Est-ce que quelqu'un sait d'une source qui donne la spécification officielle pour la façon dont il gère cela? Je veux savoir quel genre de pièges et de cas d'angle il pourrait avoir alors je ne peux pas être sûr que j'ai raison en essayant simplement des choses.Que définit Uri.LocalPath à faire avec les chemins non locaux?

(ne alternativement d'un connu quelqu'un de manière robuste pour vérifier si un Uri est ou non local? En particulier, est-ce que je peux accéder via le système de fichiers)

Répondre

1

Vous ne respecte pas les conditions préalables en l'utilisant sur un Uri qui n'est pas un "nom de fichier". Ainsi, comme je le vois, il peut retourner tout ce qu'il veut.

Pour voir si un Uri est un nom de fichier, utilisez Uri.IsFile

+0

IsFile? Qu'est-ce que ce n'est pas un fichier mais un répertoire? Ou est-ce juste un choix de nom pas si clair? (Je ne dirai pas mauvais car je ne peux pas penser à quelque chose de mieux: IsLocal? Qu'en est-il de '\\ mtserver \ somthing'?) – BCS

+1

Veuillez lire la documentation, pas seulement le nom de la méthode (" Obtient une valeur indiquant si le spécifié Uri est un URI de fichier. "). fichier URI signifie qu'il utilise le schéma de fichier. Cela n'a rien à voir avec quel type de ressource (fichier, répertoire, fifo, etc.) c'est. –

+0

new Uri (@ "\\ mtserver \ somthing"). IsFile renvoie la valeur true, car la canonisation (en fichier: // mtserver/something) est effectuée dans le constructeur. –

Questions connexes