我注意到当我反映到程序集中时,对属性访问器的调用有时看起来像方法
// "Reflected" example
class Class1 {
public bool Boolean { get; set;}
}
class Class2 {
public Class2() {
var class1 = new Class1();
var boolean = class1.get_Boolean();
}
}
现在我很好奇,我放了一个类似签名的方法Class1
,看起来像是访问器的标准约定。
// "Hacked" example
class Class1 {
public bool get_Boolean() { return true; }
}
不知何故,C# 编译器仍然将get_Boolean
其视为一种方法。
让方法成为属性的魔法酱是什么?