1
我想重寫mscorlib v4中System.Resources.ResourceManager類中的方法。ResourceManager覆蓋GetResourceFileName
我想重寫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
感謝您的信息,畢竟使用Activator類instanciate與私有構造函數工作的對象... securityexception是從別的東西。 – peter 2010-08-04 19:26:57