在.NET中,我试图猴子修补第3方库。我创建了一个新类Grandchild,该类继承自Parent派生的Child类。在孙子项的替代方法中,我需要跳过“子项”并调用“父项”。那可能吗?换句话说,我想做:
public class Grandchild : Child {
public void override MyMethod() {
// illegal syntax examples, but how can I invoke Parent.MyMethod?
base.base.MyMethod(); // nope...
Parent.MyMethod(); // nope...
}
}
参考方案
出于充分的理由-安全,这是根本无法做到的,甚至无法进行反思。
如果您分发的课程强制执行了一些业务规则,并且客户能够跳过这些规则,则可能会遇到巨大的安全漏洞。这样的基本多态性规则是绝对不能违反的。
安全性也是为什么表达式树不能包含对base
的引用的原因,正如Eric Lippert here所解释的。
//this is illegal
Expression<Func<string>> nonVirtualCall = () => base.Method();
如何在.Net Core中的AuthorizeAttribute类中访问appsetting.json参数 - c#在我的ASP.NET Core MVC应用程序中,我有一个从AuthorizeAttribute继承并实现IAuthorizationFilter的类。namespace MyProject.Attributes { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Allow…
如何在.NET中安装Windows服务? - c#我已经在.Net 2.0(C#)中创建了一个控制台应用程序,并希望创建一个将应用程序作为Windows服务安装的安装程序。我以前从未创建过安装程序,但正在阅读有关该主题的几篇文章。我将不胜感激那些在这方面有经验的人的任何建议或链接。谢谢。更新:我目前正在研究http://justinjmoses.wordpress.com/2008/03/27/visual…
如何在.net core中调用带参数的动作? - c#因此,我在Startup.cs中设置了以下默认模式:app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action}/{id?}"); }); 这是我的控制器…
如何在.NET服务器端检索Http请求参数 - c#我已经使用XmlHttpRequest调用了.NET DLL(类库项目):function httpGet(theUrl, sendParam) { var xmlHttp = null; xmlHttp = new XMLHttpRequest(); xmlHttp.open('POST', theUrl, false); xmlHtt…
如何在$ .ajax(类型get)调用中获取方法的返回值? - javascript我有一个ASP.NET MVC应用程序,其中有一个方法,该方法返回对象列表:public List<FileObject> GetAllFilesFromDirectory() { string filePath = @"C:\FilesToWatch"; string[] fileEntries = Directory.Ge…