[英]How to cast to type of object based on the object type?
我想避免使用特定的类型(以前我是怎么做的)
var obj = new List<Category>();
obj = (List<Category>)EasyCache.Instance.Item(cacheKey)
像:obj =( obj.GetType()??? )EasyCache.Instance.Item(cacheKey)
如果您不想在赋值中重复类型名称,则可以将声明和赋值组合在一起:
var obj = (List<Category>)EasyCache.Instance.Item(cacheKey)
请注意,您创建的空List<Catgeory>
将被丢弃,因为您在下一行中覆盖它。 看起来你创建一个新的只是为了允许在声明中使用var
。
var
和dynamic
是很棒的工具,但它们不应该用于替换静态类型检查。
你可以用
obj = (dynamic)EasyCache.Instance.Item(cacheKey);
这不是一个好方法,但应该有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.