Abbiamo un sistema dinamico di linguaggi che non usa i file di risorse convenzionali; recupero di risorse da un database, tramite una libreria di gestione del linguaggio. Basato su una soluzione legacy (VB6), controlla i linguaggi in base al nome della risorsa nella proprietà del tag del controllo. Dopo che la pagina è stata inizializzata, spariamo a un metodo che richiede LayoutRoot e ricorre ai suoi figli che applicano le stringhe cercate dal tag in cui il controllo ne ha uno. Questo dimostra di essere poco maneggevole, la routine ricorsiva si è trasformata in un mostro per soddisfare le sottigliezze dei diversi controlli e voglio usare l'associazione dati per applicare le stringhe.È possibile associare dati a un metodo in Silverlight?
Mi rendo conto che potrei dichiarare proprietà da associare a ciascun controllo, ma questo implicherà molto codice e spero che esista un modo migliore. C'è un modo per legarsi a un metodo, passando un parametro. Immagino un metodo come questo.
public string GetResource(string resourceName)
{
string resource = <fetch resource from language manager>;
if (String.IsNullOrEmpty(resource))
{
return resourceName;
}
else
{
return resource;
}
}
Abbiamo già un metodo statico nella nostra applicazione per questo recupero, che ha la seguente firma.
public static Resource(string resourceName, string defaultValue)
Essere in grado di utilizzarlo direttamente sarebbe fantastico.
Hai appena usato "lingua" come verbo? * shudder * –
Ho fatto e lo riconosco come un uso improprio della lingua. Quale verbo vorresti raccomandare? Traduci non sembra giusto per quello che sto descrivendo. –
"inizializza", "traduce", "applica risorse a" –