C# .NET:Type.Parse不起作用?

C# .NET:Type.Parse不起作用?,c#,.net,compiler-errors,C#,.net,Compiler Errors,我做错了什么 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework.Graphics; using Box2D.XNA; //... Type.Parse("GameObjectModel"); 编译错误: 'System.Type' does not contain a definition for 'Parse'

我做错了什么

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Box2D.XNA;
//...
Type.Parse("GameObjectModel");
编译错误:

'System.Type' does not contain a definition for 'Parse'

我试图从字符串中获取类名的类型,这样我就可以实例化该类的一个实例。

看起来您试图从字符串中获取类型,在这种情况下,我认为您是在使用
type.GetType(“GameObjectModel”)
如果您试图将字符串转换为System.type,也许这个函数就是你想要的


如果您试图获取实例,则根本不需要类型。直接获取类型的字符串名。

您应该编写
typeof(GameObjectModel)

如果
“GameObjectModel”
是仅在运行时才知道的字符串,则应调用

要实例化仅在运行时已知类型的类,请编写以下代码:

object myInstance = Activator.CreateInstance(Type.GetType(typeName));
然而,这将是缓慢和困难的工作。(您需要对已知的基类型或接口使用反射或强制转换)

你想做什么?

这取决于他想做什么:-)-他没有给出多少线索,但这是个好主意guess@pm100-对于即将召开的用户需求会议,我想我最好练习猜测:)这确实是一个只有在运行时才知道的字符串。我不敢相信我写了这个。我必须同意Ben的观点。听起来OP需要学习更多关于如何使用.NET的知识,而不是他的问题的答案。他需要学习的一件重要事情是,他不能只是尝试调用不存在的方法。另一件做错的事情是。。。好吧,雷蒙德·陈(Raymond Chen)非常雄辩地说@Jaxidian——当谷歌搜索时,这是最先出现的事情之一:我不会假设他们没有看,也没有尝试过任何东西。如果您不熟悉在MSDN中搜索,或者对MSDN不熟悉,那么您正在查看的.NETAPI一开始并不总是直截了当的。实际上,尼克·克雷弗是正确的。我在谷歌上搜索了一下,并试图让它发挥作用。我的故事的寓意是,罗萨奇应该学习更多关于Intellisense和命名空间引用的知识。如果他知道一些关于这些的基本知识,问题就不会集中在一条错误消息上,用英语说,“这个函数不存在。”我不是说“如何解析类型”这个问题的根源是一个糟糕的问题,我只是说@Rosarch应该学习一些重要的基础知识,这对编写.NET代码有很大帮助。这就是本所说的背后的原因,他只是说得很糟糕。这就是为什么我“有点”同意他的观点既然人们不欣赏我对“我做错了什么?”这个问题的回答,也许他们会更喜欢陈雷蒙的回答: