设置为 class 属性 时无法从 MemoryCache 获取默认方法

Cant get default method from MemoryCache when set as a class property

我正在努力避免这种情况:

 private ObjectCache cache = MemoryCache.Default

通过创建 class:

public static class MemoryDefault
{
    public static MemoryCache Memory { get; set; }
}

调用时MemoryDefault.Memory.Default 它不存在,为什么?

你的 属性 public static MemoryCache Memory { get; set; } 没有在任何地方初始化 - 所以它总是 null..

应该是:

public static class MemoryDefault
{
    static MemoryDefault()
    {
         Memory = MemoryCache.Default;
    }

    public static MemoryCache Memory { get; private set; }
    //private set for preventing user to change that value
}

其他方法:

public static class MemoryDefault
{
    public static MemoryCache Memory { get { return MemoryCache.Default; } }
}