Wie entferne ich doppelte Stringwerte, wenn ich einen TypeProvider nutze?Wie entferne ich doppelte Zeichenfolgenwerte, wenn ich einen TypeProvider verwende?
Ich habe die folgende Logik:
type MovieProvider = JsonProvider<"https://facebook.github.io/react-native/movies.json">
let getMovies() =
async {
let! result = MovieProvider.AsyncLoad "https://facebook.github.io/react-native/movies.json"
return result.Movies
|> Array.toList
|> List.map (fun m -> { Title=m.Title; Year=m.ReleaseYear })
}
Ich möchte die Vervielfältigung der hartkodierte URL entfernen, indem Sie folgendermaßen vorgehen:
let url = "https://facebook.github.io/react-native/movies.json"
type MovieProvider = JsonProvider<url>
let getMovies() =
async {
let! result = MovieProvider.AsyncLoad url
return result.Movies
|> Array.toList
|> List.map (fun m -> { Title=m.Title; Year=m.ReleaseYear })
}
Allerdings erhalte ich folgende Fehler:
type MovieProvider = JsonProvider<url>
Error This is not a valid constant expression or custom attribute value
Zusammenfassung
Also, was die Praxis in F # empfohlen ist Duplizierung von fest codierten Werte für die Verwaltung?
In C#, würde ich nur eine konstante erklären.
Für diesen speziellen Zweck verwenden 'MovieProvider.GetSample()'. Das ist, was es ist da. –