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

本文关键字:OnActionExecuting 初始化 变量 获取 构造函数 继承 | 更新日期: 2023-09-27 18:36:53

我有一个父类类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中发生的初始化?

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

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

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

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

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

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

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

相关文章:
  • 没有找到相关文章