Je crée mes propres fichiers de ressources via T4, car ils sont enregistrés dans la base de données.Initialisation de ressources personnalisées dans le projet MVC
Le résultat est par exemple:
namespace Resources
{
public class Backoffice {
internal static IResourceProvider resourceProvider =
new JsonResourceProvider(
"Backoffice",
(int)System.Web.HttpContext.Current.Session["ApplicationId"]);
public static string AlgemeenActief
{
get {
var resource =
resourceProvider.GetResource(
"AlgemeenActief",
CultureInfo.CurrentUICulture.Name);
if (string.IsNullOrEmpty(resource))
{
switch ($"{CultureInfo.CurrentUICulture.Name}_{(int) System.Web.HttpContext.Current.Session["ApplicationId"]}")
{
default:
case "nl-NL_6":
return "Actief";
case "en-GB_6":
return "Active";
}
}
return resource;
}
}
}
}
Cela me permet d'utiliser mes ressources de la même manière que les ressources .NET standard (je peux maintenant taper Resources.Backoffice.AlgemeenActief
, et j'ai IntelliSense me montrant les propriétés) .
Je reçois une erreur parce que la classe n'est pas initialisée cependant. Je ne sais pas comment ils sont initialisés dans .NET cependant. J'ai essayé de trouver des utilisations du constructeur dans une classe de ressources Microsoft:
internal Backoffice() {
}
Cela ne renvoie aucun résultat. Est-ce que quelqu'un sait comment les objets ressources sont initiés et comment je peux imiter cela?
@Kai Est-ce que cela répond à votre question? – swatsonpicken
ça a marché, ouais, alors merci! Mais maintenant, je suis toujours intrigué de savoir comment Microsoft gère et pourquoi ils n'utilisent pas de classes statiques pour leurs fichiers de ressources: D – Kai