【问题标题】:How can I create an instance of the default GlobalResourceProvider?如何创建默认 GlobalResourceProvider 的实例?
【发布时间】:2011-10-04 10:18:42
【问题描述】:

我需要在 ASP.NET 中创建一个自定义 LocalResourceProvider。看来我必须为此创建一个自定义 ResourcePRviderFactory。但是,这也意味着从 CreateGlobalResourceProvider 返回一个 IResourceProvider(null 不起作用)。

我找不到框架默认的 ResourceProvider 是什么,所以我可以返回它,所以我不必创建自己的。

(默认 LocalResourceProvider 也有加分,因为我需要更改的只是 virtualPath,所以能够创建默认实例但通过我自己的通行证会让事情变得更容易)。

【问题讨论】:

    标签: c# .net asp.net localization webforms


    【解决方案1】:

    找到了解决办法。不过,这并不好:

    // HACK: The default provider is internal, so we have to use reflection to create it, so we can steal it's behaviour.
    string typeName = "System.Web.Compilation.ResXResourceProviderFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a";
    defaultFactory = (ResourceProviderFactory)Activator.CreateInstance(Type.GetType(typeName));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      相关资源
      最近更新 更多