我想要重写mscorlib v4中System.Resources.ResourceManager类中的一个方法。
我想重写方法GetResourceFileName,如下所示;
protected override string GetResourceFileName(CultureInfo culture) {
string resourceFileName = base.GetResourceFileName(culture);
return resourceFileName.Replace(".resources", ".resx");
}问题是,要实例化一个ResourceManager类,我必须使用静态方法CreateFileBasedResourceManager,该方法返回ResourceManager的一个新实例。(因为我需要基于资源的文件)
如何重写此方法?我还试图调用私有构造函数CreateFileBasedResourceManager调用来创建对象,但是我得到了这个异常(不能用反射调用私有构造函数吗?);
[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发布于 2010-08-05 01:34:24
创建您自己的资源提供程序并在您的app.config或web.config中引用它。可以在here中找到一个示例
https://stackoverflow.com/questions/3408078
复制相似问题