C#vnext中的主要构造函数语言功能实现状态通过C#Chat引起了我的注意。我对这个现有问题中未涵盖的某些功能有一些疑问。一些新特性是显而易见的,比如Getter-onlyautopropertiespublicintY{get;可能是我的知识空白,但我以前没有遇到过“主构造函数”这个术语,但一些研究似乎表明它基本上是定义classPoint{privateintx;的捷径。私人整数y;公共点(intx,inty){this.x=x;这个.y=y;}}差不多,但不完全是。默认情况下,主构造函数参数不会被捕获到字段中;但是,它们在实例成员初始化器中是可访问的(并且只能在那里访问),因此您可以使用它们来显式初始化字段或属性:classPoint(intx,inty){publicintX{get;}=x;公共intY{得到;}=y;}(请注意,在这种情况下,将创建支持字段,但用于属性,而不是构造函数参数)但您也可以使用访问修饰符声明参数,在这种情况下,它们将被捕获为字段并可从所有实例成员访问:classPoint(publicreadonlyintx,publicreadonlyinty){}(如你所见,你还可以为字段指定其他修饰符,例如readonly)是的,你可以有其他非主构造函数。但是,它们都需要使用通常的:this(...)语法来调用主构造函数。如上所述,没有隐式支持字段;仅当您在主构造函数参数上显式指定访问修饰符时,才会创建支持字段。编辑:该函数已经撤回,不会在C#6中出现(可能在C#7中,形式略有不同)以上是C#学习教程的全部内容:C#vnext中的主要构造函数,如果对大家有帮助对大家有用,需要多了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
