假设我有一个类Activity
,其构造函数的唯一目的是将传递的参数分配给此实例的属性:
class Activity
{
string name;
int participantCount;
bool inProgress;
public Activity(string name,int participantCount,bool inProgress)
{
this.name=name;
this.participantCount=participantCount;
this.inProgress=inProgress;
}
}
我在我的应用程序中经常使用这种构造函数模式,所以,假设这是一个可接受的编程实践,我想知道在Visual Studio中是否有某种快捷方式来生成它,或者是一种完成它的方法。代码更少,效果相同。
答案 0 :(得分:4)
我同意,为此设置一个快捷方式会非常有帮助。 TypeScript有,而且非常好。不幸的是,C#5.0没有这样的东西。幸运的是,它在C#6.0中即将到来 - 或类似的东西。
目前提出的语法如下所示:
public class Point(int x, int y) {
public int x, y;
}
我不确定我喜欢这种语法 - 我更喜欢TS如何做到这一点:
public class Point(public int x, private int y) { }
但我想要的可能是无关紧要的: - )。
请参阅http://damieng.com/blog/2013/12/09/probable-c-6-0-features-illustrated。
答案 1 :(得分:3)
Visual Studio没有任何快捷方式,但Resharper确实如此(如果您正在编程.NET而不使用R#,那么您会浪费大量时间)
使用R#生成构造函数时,系统会要求您指定应由其初始化的属性。
请参阅http://www.jetbrains.com/resharper/webhelp/Code_Generation__Type_Constructors.html
答案 2 :(得分:1)
Resharper中有一个功能可以做到这一点。