Comment créer correctement échappé file:// URI en C#?

Quelle serait la bonne façon de créer une URL-encodé file:// URI à partir d'un chemin d'accès local, c'est à dire tous les caractères spéciaux tels que des blancs etc sont échappés?

Compte tenu de l'entrée suivants

C:\Data\Input Document.txt

Je voudrais obtenir

file:///C:/Data/Input%20Document.txt

J'ai été en utilisant

Uri uri = new Uri(@"C:\Data\Input Document.txt", UriKind.RelativeOrAbsolute); 

Toutefois, cela entraîne non échappés URI:

file:///C:/Data/Input Document.txt

OriginalL'auteur Dirk Vollmar | 2009-06-23