c# – 使用Type变量的cast对象
发布时间:2020-12-15 03:43:23 所属栏目:百科 来源:网络整理
导读:以下不行,当然.有可能的方式,这是非常相似的吗? Type newObjectType = typeof(MyClass);var newObject = givenObject as newObjectType; 解决方法 newObjectType是Type类的一个实例(包含类型的元数据),而不是类型本身. 这应该工作 var newObject = givenObj
以下不行,当然.有可能的方式,这是非常相似的吗?
Type newObjectType = typeof(MyClass); var newObject = givenObject as newObjectType; 解决方法
newObjectType是Type类的一个实例(包含类型的元数据),而不是类型本身.
这应该工作 var newObject = givenObject as MyClass; 要么 var newObject = (MyClass) givenObject; 转换为类型的实例真的没有意义,因为编译时必须知道变量类型应该是什么,而类型的实例是运行时概念. var可以工作的唯一方法是在编译时已知变量的类型. UPDATE 铸造一般是一个编译时的概念,即你必须在编译时知道类型. 类型转换是一个运行时概念. 更新2 如果您需要使用类型的变量进行调用,并且您在编译时不知道类型,则可以使用反射:在类型实例上使用MethodInfo的Invoke方法. object myString = "Ali"; Type type = myString.GetType(); MethodInfo methodInfo = type.GetMethods().Where(m=>m.Name == "ToUpper").First(); object invoked = methodInfo.Invoke(myString,null); Console.WriteLine(invoked); Console.ReadLine(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 从rails 3升级到rails 4时has_many关联的错误顺序
- c# – 创建IHttpActionResult以返回状态代码Accepted
- 转载:Newtonsoft.Json 使用 C#序列号json,反序列化对象
- xml – XSLT Concat字段在一起
- objective-c – UIDatePicker减缓了事情
- React Router学习笔记(1)
- oracle – 如何将DBMS_OUTPUT.PUT_LINE的输出重定向到文件?
- 使用存储在表中的正则表达式作为SQL查询的条件
- ruby-on-rails – ActiveRecord has_attribute的ActiveMode
- 第三十九讲 LINQ to XML