C# 在.net中将字符串转换为其类型
我有一个字符串C# 在.net中将字符串转换为其类型,c#,.net,C#,.net,我有一个字符串“System.Linq.IQueryable`1[System.string]”,我想将其转换为底层.net类型type.GetType(“System.Linq.IQueryable`1[System.string]”)返回null。有人能帮我吗。你能接受一个真正的非抽象类型签名吗?例如Type.GetType(“System.Linq.EnumerableQuery`1[System.String]”应该适合您。我认为问题在于您使用的是Type.Name而不是Type.Ass
“System.Linq.IQueryable`1[System.string]”
,我想将其转换为底层.net类型type.GetType(“System.Linq.IQueryable`1[System.string]”)
返回null。有人能帮我吗。你能接受一个真正的非抽象类型签名吗?例如Type.GetType(“System.Linq.EnumerableQuery`1[System.String]”
应该适合您。我认为问题在于您使用的是Type.Name
而不是Type.AssemblyQualifiedName您需要显式地包含程序集、版本和公钥令牌(如果它有)
如果您正在运行.net4
,请尝试以下操作
Type t = Type.GetType("System.Linq.IQueryable`1[System.String], System.Core, "
+ "Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089");
您不必总是完全限定字符串的原因是,如果类型在当前程序集中或Mscorlib程序集中,则可以忽略额外的信息。发件人:
要获取的类型的程序集限定名。看见
AssemblyQualifiedName。如果类型位于当前正在执行的
在Mscorlib.dll中,提供类型名就足够了
由其命名空间限定
显示您的代码。。你的问题不清楚..字符串只是一个字符串,你不能将它转换为另一种类型,就像你不能将字符串“Apple”转换为实际的Apple一样。我认为你必须对字符串进行一些解析,因为这是一个泛型类型。google代表“type.GetType泛型”(比如:)