首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用类型字符串的类型铸造

使用类型字符串的类型铸造
EN

Stack Overflow用户
提问于 2016-04-07 18:52:31
回答 1查看 82关注 0票数 0

我有完全合格的类名,我必须使用的类型铸造。我可以用

代码语言:javascript
运行
复制
someType=Type.GetType("TypeName"). 

反序列化之后,我将得到对象,必须将其输入到特定类型,即TypeName。

我试过了

代码语言:javascript
运行
复制
obj = (someType) SXmlSerializer.Deserialize("TypeName", someData);

但这不管用。是否有任何选项可用于仅使用类名作为字符串进行类型广播?

我必须将其转换为someType,因为我必须修改属性的值,即obj.SomeProperty = "AnotherValue"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-07 19:22:49

我必须将其转换为someType,因为我必须修改属性的值,即obj.SomeProperty = "AnotherValue“。

但是,如果在编译时不知道类型,如何知道它具有SomeProperty属性?

如果您想假设是这样,并将类型检查推迟到运行时,则可以使用dynamic

代码语言:javascript
运行
复制
dynamic obj = SXmlSerializer.Deserialize("TypeName", someData);

那你就可以

代码语言:javascript
运行
复制
obj.SomeProperty = "AnotherValue";

如果对象没有SomeProperty属性,它将在运行时失败。

转换只影响方法在编译时的绑定方式。如果在编译时不知道类型,那么转换就没有价值了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36484790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档