我想避免使用特定类型(以前我是如何做的)
var obj = new List<Category>();
obj = (List<Category>)EasyCache.Instance.Item(cacheKey)
类似于:obj =( obj.GetType()??? )EasyCache.Instance.Item(cacheKey)
答案 0 :(得分:1)
如果您不想在作业中重复类型名称,您可以将声明与作业结合起来:
var obj = (List<Category>)EasyCache.Instance.Item(cacheKey)
请注意,您创建的空List<Catgeory>
将被丢弃,因为您在下一行中覆盖它。您似乎只是为了在声明中使用var
而创建一个新的。
var
和dynamic
是很棒的工具,但它们不应该用于替换静态类型检查。
答案 1 :(得分:-1)
您可以使用
obj = (dynamic)EasyCache.Instance.Item(cacheKey);
这不是一个好方法,但它应该有用。