【发布时间】:2012-02-18 19:08:06
【问题描述】:
当然,以下内容不起作用。有没有可能的方法,和这个很相似?
Type newObjectType = typeof(MyClass);
var newObject = givenObject as newObjectType;
【问题讨论】:
-
你研究过泛型吗?
MyClass<T>,然后是var newObject = givenObject as T。 -
我已经为通用对象使用了泛型。但是还有一些特殊的需要显式转换 - 除了通用的。
-
特殊对象是什么意思?
-
对象可能是错误的词。我们有很多自定义数据字段(字符串、整数、日期时间……)。但也有一些我们无法用泛型处理,因为处理相对于整数和字符串的处理来说还不够。
-
目的是什么?是否要将给定对象视为 MyClass?如果是这样,为什么不直接var newObject = givenObject as MyClass。如果不是,那么 newObject 的类型是什么?您将如何访问其成员?我错过了什么?如果您在编译时知道类型,那么您应该能够转换为该类型。如果您在编译时不知道类型,您打算如何访问该对象?