var a = "test";
var @delegate = () => a;
Assert.AreEqual(@delegate(),"test"); //true
a = "12345678"
Assert.AreEqual(@delegate(),"test"); //still true, due to closure.
但是,如果变量 a 是类级别的属性,那么第二个断言会返回什么 - 真还是假?
例如,如果 a 是
string _a;
string a {get {return _a;} set{_a = value;}}
如果 a 是方法而不是属性,我知道第二个断言将是错误的。