如果查看反射器中的DataGridViewTextBoxCell属性ValueType,您可以看到它覆盖了DataGridViewCell中的属性。
奇怪的是,overriden属性是readonly,但是父类中的属性是读写的。
我只能假设该物业已经被遮蔽而且反射器没有......呃..反映这一点。
这是对的吗?
eta:我在反射器中查看源代码,如vb.net。
答案 0 :(得分:1)
CLR在内部实现属性作为方法。每个进程都有一种方法。因此,如果您的属性是读/写,您将有两种方法。如果您的方法是只读的或只写的,那么您将只有一种方法。
如果您选择IL而不是Visual Basic,则可以使用Reflector自行查看。
.method public hidebysig specialname virtual instance class [mscorlib]System.Type get_ValueType() cil managed
如果您使用ToString方法进行comapre ...
.method public hidebysig virtual instance string ToString() cil managed
...你会注意到两者都以“.method”开头。
由于您有两种方法,因此可以相互独立地覆盖它们。