下面是一些快速代码来说明我的问题。有什么方法可以避免这种明显不必要的装箱/拆箱?
public class TestClass<T>
{
public T TestMethod()
{
if (typeof(T) == typeof(bool))
{
return true; // doesn't work
return (T)(object)true; // works, but any way to avoid this?
}
return default(T);
}
}
答案 0 :(得分:4)
这是处理你在这里做的事情的唯一方法(为特定的封闭泛型类型返回非默认值)。