C# ResourceManager重写GetResourceFileName
我想重写mscorlib v4中System.Resources.ResourceManager类中的方法 我想像这样重写GetResourceFileName方法C# ResourceManager重写GetResourceFileName,c#,reflection,methods,overriding,private,C#,Reflection,Methods,Overriding,Private,我想重写mscorlib v4中System.Resources.ResourceManager类中的方法 我想像这样重写GetResourceFileName方法 protected override string GetResourceFileName(CultureInfo culture) { string resourceFileName = base.GetResourceFileName(culture); return resourceFi
protected override string GetResourceFileName(CultureInfo culture) {
string resourceFileName = base.GetResourceFileName(culture);
return resourceFileName.Replace(".resources", ".resx");
}
问题是,要实例化ResourceManager类,我必须使用静态方法CreateFileBasedResourceManager,该方法返回ResourceManager的新实例。(因为我需要基于文件的resourcemanager)
如何重写此方法?我还尝试调用私有构造函数CreateFileBasedResourceManager调用来创建对象,但是我遇到了这个异常(不能用反射调用私有构造函数?)
创建自己的资源提供者,并在app.config或web.config中引用它。可以找到一个示例感谢您提供的信息,毕竟使用Activator类将对象与私有构造函数实例化。。。securityexception来自其他方面。
[SecurityException: Request failed.]
System.RuntimeMethodHandle.PerformSecurityCheck(Object obj, RuntimeMethodHandleInternal method, RuntimeType parent, UInt32 invocationFlags) +0
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +323
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +38
System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +35
System.Xml.Xsl.XsltOld.FuncExtension.Invoke(XsltContext xsltContext, Object[] args, XPathNavigator docContext) +164
MS.Internal.Xml.XPath.FunctionQuery.Evaluate(XPathNodeIterator nodeIterator) +430