property只是一个包含了一个或者两个的method的refrence。“no more,no less”。
为了减少对外界的暴露情况,对于property引用的method,简单的在metadata上设置了一个specialname的attribute而已,通知编译器变异的时候,把这些方法隐藏掉。
所以,new一个method覆盖property是可以的。这一点,编译器如果要检查,也只能检查metadata中是否有specialname这个attribute。为什么不检查,我也不知道,呵呵。