同时支持引用类型和值类型

本文关键字:类型 引用类型 支持 | 更新日期: 2023-09-27 18:30:53

我有这个带有此方法的类,我需要同时支持引用类型和值类型,但我不知道如何执行此操作。任何帮助将不胜感激。

public static class CacheHelper<T>
{
    public static T Get(string key, Func<T> function) {
        var obj = (T)HttpContext.Current.Cache[key];
        if (obj == null)
        {
            obj = function.Invoke();
            HttpContext.Current.Cache.Add(key, obj, null, DateTime.Now.AddMinutes(3),
                TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Normal, null);
        }
        return (T)obj;
    }
}

同时支持引用类型和值类型

我认为

如果您删除T此行的演员表var obj = HttpContext.Current.Cache[key];您应该没问题。

public static class CacheHelper<T>
{
    public static T Get(string key, Func<T> function) {
        var obj = HttpContext.Current.Cache[key];
        if (obj == null)
        {
            obj = function.Invoke();
            HttpContext.Current.Cache.Add(key, obj, null, DateTime.Now.AddMinutes(3),
                TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Normal, null);
        }
        return (T)obj;
    }
}