在采访中我被要求Boxing and Unboxing
并且我解释了它。之后我问Generic Collections
。我解释了下面的代码,从这里他们问下面代码中如何应用拳击操作。我不确定这个答案。
public abstract class DataAccess<T, TKey>
{
--CRUD Operations here
}
public class AdminDataAccess : DataAccess<Admin, long>
{
--code here
}
答案 0 :(得分:3)
没有拳击。拳击不适用于泛型类型参数。它仅适用于它们实际用于代码并且实际上被所述代码装箱/取消装箱的时候。
编辑:..例如,虽然我认为我解释得相当好..
这将是框:
public abstract class DataAccess<T, TKey> where TKey : struct {
private object _boxedKey;
private void DoSomething(TKey key) {
_boxedKey = key;
}
}
如果没有一些代码强行装箱/取消装箱值类型,你的通用类型参数与装箱或拆箱没有任何关系。