c# – GetType()何时返回RunTimeType,何时返回类似SampleProgram.MyClass1的类型?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – GetType()何时返回RunTimeType,何时返回类似SampleProgram.MyClass1的类型?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1239字,纯文字阅读大概需要2分钟。
内容图文
我正在学习反射和GetType()方法.
我注意到,当我在应用程序中定义类型并调用GetType()方法时,它返回对象的类型(类).
Class1 first = new Class1();
Class2 second = new Class2();
Type firstType = first.GetType();
Type secondType = second.GetType();
Console.WriteLine(firstType.ToString());//prints Class1
Console.WriteLine(secondType.ToString());//prints Class2
在我使用Assembly.LoadFrom()加载另一个程序集并使用foreach迭代类型的同时,GetType()返回RunTimeType.
foreach (Type t in AddInAssembly.GetTypes())
{
if (t.IsClass && typeof(IAddIn).IsAssignableFrom(t))
{
AddInTypes.Add(t);
Console.WriteLine(t.GetType());//prints RunTimeType
}
}
怎么了?我的理解错了吗?任何人都可以对这种行为有所了解.
解决方法:
也许在这个例子中会更有意义:
Class1 someObj = new Class1();
Type type1 = someObj.GetType(); // Class1
Type type2 = type1.GetType(); // RuntimeType
在第一个示例中,您正在使用Class1和Class2类型的对象,因此当您使用GetType()时,它将返回表示Class1和Class2的Types.
在第二个示例中,您正在使用Type类型的对象,它们表示Class1和Class2.在这些上使用GetType()时,它返回RuntimeType(扩展Type).
作为进一步的解释,以下是运行上述示例后每个变量的类型和内容:
Variable | Type | Content
someObj | Class1 | N/A
type1 | RuntimeType | Class1
type2 | RuntimeType | RuntimeType
内容总结
以上是互联网集市为您收集整理的c# – GetType()何时返回RunTimeType,何时返回类似SampleProgram.MyClass1的类型?全部内容,希望文章能够帮你解决c# – GetType()何时返回RunTimeType,何时返回类似SampleProgram.MyClass1的类型?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。