C# 获取继承变量(在子构造函数中初始化"OnActionExecuting")值



我有一个父类类A,其变量定义为public string variable。此变量 var 在定义为protected override void OnActionExecuting(ActionExecutingContext test)OnActionExecuting 方法中初始化 子类从此类继承为public class classB : classA 但是,下面的代码失败

public class classB : classA{
   string h;
   public classB(){
      h = this.variable
   }
 }

也就是说,变量 var 为空。但是,如果我在类A中声明一个公共变量变量2并动态初始化它public string variable2 = "test",我可以在控制器中检索它。如何编辑此代码,以便可以在继承类的构造函数中访问OnActionExecuting中发生的初始化?

OnActionExecuting 是在构造函数之后调用的,因此:没有办法获取尚未发生的事情的值。

如果继承类需要一个仅在基类型的 OnActionExecuting 方法触发时才可用的值,则:然后访问它

protected override void OnActionExecuting(ActionExecutingContext ctx)
{
    base.OnActionExecuting(ctx);
    h = this.var;
}
OnActionExecuting很可能

没有在classA的构造函数中调用,这意味着创建classB新实例的人都会调用它。因此,只有在构造函数运行完成之后才会调用它。

因此,您的要求是不可能的。

想想吧:
在订购披萨之前,您不能吃掉它。

相关内容

  • 没有找到相关文章

最新更新