是否有人意识到typeof(T) where T : struct例如与t.GetType() where t is a System.Object?之间的任何差异?
ILdasm显示typeof(T)使用System.Type::GetTypeFromHandle(RuntimeTypeHandle handle),而另一个只是简单System.Object::GetType().实现是[MethodImpl(MethodImplOptions.InternalCall)],因此方法在CLR中的本机代码中定义.所以,我只是想知道是否有人知道任何理由更喜欢一个而不是另一个?
编辑:让我澄清一点,我最感兴趣的是你选择哪个似乎没关系的情况 - 也就是说,是否存在性能差异或其他原因?谢谢!