我看到很多遗留的 .Net 1.1 风格的代码在工作,如下例所示,我想在自动属性的帮助下缩小这些代码。这将帮助许多班级缩小 30-40%,我认为这会很好。
public int MyIntThingy
{
get
{
return _myIntThingy;
}
set
{
_myIntThingy = value;
}
} private int _myIntThingy = -1;
这将变成:
public int MyIntThingy
{
get;
set;
}
唯一的问题是 - 我在哪里设置MyIntThingy = -1;
?
如果我从一开始就写这门课,那么我会有一个更好的主意,但我没有。一个明显的答案是:把它放在构造函数中。麻烦的是:这个类中有很多构造函数。在调试器中观察初始化-1
,我看到它在构造函数被调用之前发生(我相信)。就好像我需要使用此处描述的静态构造函数:
http ://www.c-sharpcorner.com/uploadfile/cupadhyay/staticconstructors11092005061428am/staticconstructors.aspx
,除了我的变量不是静态的。我想到了 Java 的静态初始化程序,但又一次 - 我的变量不是静态的。http://www.glenmccl.com/tip_003.htm
我想对这个类进行风格但不是功能上的改变。尽管它很糟糕,但它已经经过了几年的测试和工作。破坏功能会很糟糕。所以......我正在寻找更短,更甜,更可爱,但等效的代码。如果您有任何问题,请告诉我。