API per gestire percorsi di file e risorse

Introduzione

Di seguito è descritta la classe C# statica ResourceUri, che rappresenta il percorso (URI - Uniform Resource Identifier) di un file o una risorsa interno o esterno al progetto. La stessa classe rappresenta l’omonimo tipo di dato per le variabili (per esempio la proprietà Percorso di un oggetto Immagine).

Di seguito sono descritte le proprietà in lettura della classe ResourceUri e i metodi che la classe espone per referenziare file/risorse.

Proprietà di un oggetto ResourceUri

Proprietà

Tipo di dato

Descrizione

UriType

UriType

Tipo di percorso contenuto:

  • Uri

  • ProjectRelative

  • ApplicationRelative

  • AbsoluteFilePath

ProjectRelativePath

string

Percorso relativo di un file rispetto alla cartella ProjectFiles

ApplicationRelativePath

string

Percorso relativo di un file rispetto alla cartella ApplicationFiles

AbsoluteFilePath

string

Percorso assoluto di un file esterno al progetto

Uri

string

Percorso assoluto di una risorsa generica

A seconda del valore della proprietà UriType di un oggetto di tipo ResourceUri, le altre proprietà espongono o meno un valore, come di seguito:

UriType

ProjectRelativePath

ApplicationRelativePath

AbsoluteFilePath

Uri

Uri

-

-

-

URI (per esempio un URL HTTP)

ProjectRelative

Percorso relativo rispetto alla cartella ProjectFiles

-

-

Percorso assoluto

ApplicationRelative

-

Percorso relativo rispetto alla cartella ApplicationFiles

-

Percorso assoluto

AbsoluteFilePath

-

-

Percorso assoluto

Percorso assoluto

ResourceUri.FromAbsolutePath(path)

Restituisce un oggetto C# di tipo ResourceUri, con UriType = AbsoluteFilePath e contenente un percorso assoluto di un file.

static ResourceUri FromAbsoluteFilePath(string path);

Argomenti

path string

Percorso assoluto di un file.

Restituisce

ResourceUri

Oggetto C# che contiene il percorso indicato nell’argomento.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# applicationRelativeResourceUri di tipo ResourceUri contenente il percorso relativo C:\Users\Michael\Desktop\Text1.txt.

var applicationRelativeResourceUri = ResourceUri.FromAbsolutePath("C:\Users\Michael\Desktop\Text1.txt");

ResourceUri.FromApplicationRelativePath(path)

Restituisce un oggetto C# di tipo ResourceUri, con UriType = ApplicationRelative e contenente un percorso relativo di un file rispetto alla cartella ApplicationFiles.

static ResourceUri FromApplicationRelativePath(string path);

Argomenti

path string

Percorso relativo di un file rispetto alla cartella ApplicationFiles.

Restituisce

ResourceUri

Oggetto C# che contiene il percorso indicato nell’argomento.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# applicationRelativeResourceUri di tipo ResourceUri contenente il percorso relativo Text1.txt. L’oggetto viene usato come argomento dell’API .NET WriteAllText per creare un file di testo Text1.txt all’interno della cartella ApplicationFiles.

var applicationRelativeResourceUri = ResourceUri.FromApplicationRelativePath("Text1.txt");
Log.Info(applicationRelativeResourceUri.ApplicationRelativePath);
File.WriteAllText(applicationRelativeResourceUri.Uri, "Hello world!");

ResourceUri.FromProjectRelativePath(path)

Restituisce un oggetto C# di tipo ResourceUri, con UriType = ProjectRelative e contenente un percorso relativo di un file rispetto alla cartella ProjectFiles.

static ResourceUri FromProjectRelativePath(string path);

Argomenti

path string

Percorso relativo di un file rispetto alla cartella ProjectFiles.

Restituisce

ResourceUri

Oggetto C# che contiene il percorso indicato nell’argomento.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# projectRelativeResourceUri di tipo ResourceUri contenente il percorso relativo Text1.txt. L’oggetto viene usato come argomento dell’API .NET WriteAllText per creare un file di testo Text1.txt all’interno della cartella ProjectFiles.

var projectRelativeResourceUri = ResourceUri.FromProjectRelativePath("Text1.txt");
Log.Info(projectRelativeResourceUri.ProjectRelativePath);
File.WriteAllText(projectRelativeResourceUri.Uri, "Hello world!");

ResourceUri.FromUri(uri)

Restituisce un oggetto C# di tipo ResourceUri, con UriType = Uri e contenente un percorso assoluto di una risorsa generica, solitamente un percorso di rete o l’indirizzo di un sito web.

Argomenti

uri string

Percorso assoluto di una risorsa generica.

Restituisce

ResourceUri

Oggetto C# che contiene il percorso indicato nell’argomento.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# website di tipo ResourceUri contenente l’URL www.asem.it.

var website = ResourceUri.FromUri("www.asem.it");