【发布时间】:2012-11-08 10:15:23
【问题描述】:
我有一个方法可以进行一些类型转换。如果类型等于传递的泛型类型,我不想经历整个过程。这是一个sn-p。
public static T ConvertTo<T>(this object @this)
{
if (typeof(T) == @this.GetType())
return (T)@this;
}
我正在检查对象 @this 是否已经是 T 类型,这似乎可以工作,但这是最好的方法吗?
【问题讨论】:
-
有什么理由要使用 exact 类型而不是
is? -
没有 Jon,但作为一个 'dotnetnoob' 我可以让 'is' 语法为我工作。
-
另一件要检查的事情:你需要它来为值类型和引用类型工作吗?如果没有,
where T : class约束可能会让生活更简单。 -
它需要适用于 int (+ 其他数字变量) + bool/guid/string
标签: c# .net typeof gettype generic-type-argument