在foreach语句的帮助下,我在WinForms表单中搜索一些controls。我正在比较通过"is"-reference (a is DataGridView)找到的对象。其中"a“是控件集合中的对象。到目前为止,这一切都很好,因为我的表单上比较的对象彼此之间都有足够的差异。
在我创建的一个新表单中,我使用了一个名为my_datagridview的DataGridView的派生版本。因此,当通过" is "-reference将my_datagridview与DataGridView进行比较时,不会抛出异常,这是“错误的”,因为我想分别处理这两个-r
基于几天前在SO中提出的以下问题:和阅读答案,我开始思考,如果让GetType()不是虚拟的,那么就真的可以确保一个对象不能在其Type上撒谎。我在这里可能大错特错,如果是这样的话,我很想澄清,但请考虑以下代码:{}publicclass BadFoo : IFoo Type IFoo.GetType() return typeof(int);}
public cla