Я хочу переопределить метод в Системе. Ресурсы. Класс ResourceManager в mscorlib v4.
Я хочу переопределить метод GetResourceFileName как это;
protected override string GetResourceFileName(CultureInfo culture) {
string resourceFileName = base.GetResourceFileName(culture);
return resourceFileName.Replace(".resources", ".resx");
}
Проблема, к instanciate класс ResourceManager я должен использовать статический метод CreateFileBasedResourceManager, который возвращает новый экземпляр ResourceManager. (потому что мне нужен файл базирующийся 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
Создайте собственного поставщика ресурсов и укажите его в app.config или web.config. Пример можно найти здесь