代码之家  ›  专栏  ›  技术社区  ›  Baahubali

未定义参数但仍接受参数的构造函数

  •  0
  • Baahubali  · 技术社区  · 6 年前

    我有一个类调用下面的属性( RequireTransaction )它接受一个参数,但在类定义中,构造函数的定义没有任何参数。当没有用参数定义的构造函数时,这个属性构造函数如何能够接受参数?

    [RequiresTransaction(IncludeData = true)]
    public ActionResult DoSomething()
    {
      return something;
    };
    
    
    public class RequiresTransactionAttribute
    {
        public bool IncludeData { get; set; }
    
        public RequiresTransactionAttribute()
        {
            IncludeData = false;
        }
    }
    
    2 回复  |  直到 6 年前
        1
  •  4
  •   Mureinik    6 年前

    引用 the documentation :

    命名或可选参数对应于属性的属性或字段。

    此处的命名参数对应于 IncludeData 属性,由于它是命名参数,因此不需要相应的构造函数参数。

        2
  •  2
  •   shingo    6 年前

    这叫做 named parameter

    属性类的每个非静态公共读写字段和属性都为属性类定义一个命名参数。

    推荐文章