3

在采访中,我被要求Boxing and Unboxing并解释了它。之后我要求Generic Collections。我解释了下面的代码,他们从这里询问拳击操作是如何在下面的代码中应用的。我不确定这个答案。

public abstract class DataAccess<T, TKey>
{
   --CRUD Operations here
}

public class AdminDataAccess : DataAccess<Admin, long>
{
    --code here
}
4

1 回答 1

3

没有拳击。装箱不适用于泛型类型参数。它仅适用于它们实际在代码中使用并且实际被所述代码装箱/拆箱的情况。

编辑:..一个例子,虽然我认为我解释得很好..

这将框:

public abstract class DataAccess<T, TKey> where TKey : struct {
    private object _boxedKey;

    private void DoSomething(TKey key) {
        _boxedKey = key;
    }
}

如果没有一些代码强制装箱/拆箱值类型,您的泛型类型参数与装箱或拆箱没有任何关系。

于 2013-09-03T04:07:14.040 回答