繁体   English   中英

如何根据对象类型转换为对象类型?

[英]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

vardynamic是很棒的工具,但它们不应该用于替换静态类型检查。

你可以用

obj = (dynamic)EasyCache.Instance.Item(cacheKey);

这不是一个好方法,但应该有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM