|
|
1
60
给定类型
如果声明来自基类型,则计算结果为false。
注意,由于这是测试声明,而不是真正的实现,因此
将
如果返回真
|
|
|
2
20
正如@ciprianbortos所指出的,接受的答案并不完整,如果按原样使用,将导致代码中出现严重的错误。
他的评论提供了神奇的解决方案
或者,作为扩展方法提供给
|
|
|
3
16
我无法得到 Ken Beckett's proposed solution 工作。我的决定是:
中有个测试 the gist . |
|
|
4
6
一个简单的解决方案也适用于受保护的成员和属性,如下所示:
这是我的回答 here ,这反过来也提到了这个问题。 |
|
|
5
2
在一些非平凡的情况下也能工作的方法:
还有一些难看的测试:
|
|
|
6
2
根据
this answer
还可以有一种简单的方法来检查是否重写了虚方法,而不必使用
以及另一种扩展方法
你可以打电话
检查是否
就我所测试的而言,它似乎工作得很好(在我的机器上)。 |
|
|
7
0
有一种更好、更安全、更快的方法。 如果类实例的使用寿命很长,并且必须多次执行isoverriden检查,则此技术是有意义的。 为了解决这个问题,我们可以使用缓存和C委托,比反射快得多!
当您将此程序作为控制台应用程序运行时,它将打印:
使用Visual Studio 2010,C 4.0进行测试。 应该也适用于以前的版本,但在C小于3.0的版本上,由于对新版本中的代理进行了优化,因此速度可能会慢一些,对此的测试将不胜感激:) 但是,它仍然比使用反射更快! |
|
|
JBryanB · 如何从基本抽象类访问类属性 2 年前 |
|
|
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |
|
|
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 7 年前 |
|
|
Randall Flagg · 访问propertyinfo中的属性 7 年前 |
|
|
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 7 年前 |
|
|
tobeypeters · 反射铸造 7 年前 |
|
|
myst02 · 如何在另一个方法之后调用该方法? 7 年前 |