私は string を持っています。"System.Linq.IQueryable`1[System.String]"
これを基になる .net 型に変換したいのですが、Type.GetType("System.Linq.IQueryable`1[System.String]")
null が返されます。誰でもこれについて私を助けることができますか。
質問する
111 次
3 に答える
2
アセンブリ、バージョン、および公開キー トークン (存在する場合) を明示的に含める必要があります。
実行している場合は.NET 4
、これを試してください
Type t = Type.GetType("System.Linq.IQueryable`1[System.String], System.Core, "
+ "Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089");
文字列を常に完全修飾する必要がない理由は、型が現在のアセンブリまたは Mscorlib アセンブリ内にある場合、追加の情報を省略できるためです。MSDNから:
取得する型のアセンブリ修飾名。AssemblyQualifiedName を参照してください。型が現在実行中のアセンブリまたは Mscorlib.dll にある場合は、その名前空間によって修飾された型名を指定するだけで十分です。
于 2013-04-03T11:46:14.740 に答える
0
本物の非抽象型署名を取得できますか? たとえばType.GetType("System.Linq.EnumerableQuery`1[System.String]")
、あなたのために働くはずです。
于 2013-04-03T11:43:08.903 に答える
0
Type.Name
問題は、の代わりに使用していることだと思いますType.AssemblyQualifiedName
。
于 2013-04-03T11:44:08.407 に答える