c# - Type.GetType() 和 Assembly.GetType() 返回不同的结果

标签 c# .net types assemblies

以下代码会产生不同的结果:

class X<R>
{
    public class Y { }
}

...

var t = typeof(X<int>.Y);
var n = t.ToString().Dump(); // <- X`1+Y[System.Int32]

Type.GetType(n).Dump(); // <-- X`1+Y[System.Int32]
t.Assembly.GetType(n).Dump(); // <-- null

为什么 Type.GetType(n) 找到类型,但 t.Assembly.GetType(n) 找不到?

最佳答案

根据http://msdn.microsoft.com/en-us/library/y0cd10tb%28v=vs.110%29.aspxAssembly.GetType(string) 需要类型的完整名称。

尝试在类型上使用 FullName 而不是 ToString() 来获取全名,而不是短名称。

关于c# - Type.GetType() 和 Assembly.GetType() 返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20953267/

相关文章:

c# - AddDbContext 在 .NET Core 的 IServiceCollection 中不可用

javascript - GridView 中的全选不起作用

java - Java中short、int、long、double、float之间的转换

scala - 找不到参数 x 的隐式值

c# - C#Youtube API:从搜索中排除直播

c# - ASP.NET 变量的 JavaScript 语法错误

c# - 无法加载类型 System.Runtime.Diagnostics.ITraceSourceStringProvider

c# - ReadToEndAsync 是阻塞的,如何让它异步运行?

c# - Avalonedit 如何获得顶部可见行

c# - 引用类型是一个对象?