.net中 关于反射的详细介绍

前端技术 2023/09/09 .NET

概述反射

• 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象。
• 反射机制允许程序在执行过程中动态地添加各种功能。 

 运行时类型标识

•运行时类型标识(RTTI),可以在程序执行期间判定对象类型。例如使用它能够确切地知道基类引用指向了什么类型对象。
•运行时类型标识,能预先测试某个强制类型转换操作,能否成功,从而避免无效的强制类型转换异常。
•在c#中有三个支持RTTI的关键字:is 、 as  、typeof。 下面依次介绍他们 

 is运算符:

通过is运算符,能够判断对象类型是否为特顶类型,如果两种类型是相同类型,或者两者之间存在引用,装箱拆箱转换,则表明两种类型是兼容的。

复制代码 代码如下:

View Code

class Program
    {
        static void Main(string[] args)
        {
            A a = new A();
            B b = new B();
            if (a is A) 
            {
                Console.WriteLine(\"a is an A\");   //这个打印,因为a 是 A 类型的对象
            }
            if (b is A)
            {
                //这个打印,因为b是B类型的对象,而B类型派生于A类型,由于b对象可以转换为A类型,因此b对象与A类型是兼容的,但是反过来就不成立,例如下面不打印
                Console.WriteLine(\"b is an A because it is derived from\");
            }
            if (a is B)
            {
                //这个不打印
                Console.WriteLine(\"This won\'t display , because a not derived from B\");
            }
            if (a is object)
            {
                //这个打印
                Console.WriteLine(\"a is an object\");
            }
            Console.ReadKey();
        }
    }
    class A { }
    class B : A { }

本文地址:https://www.stayed.cn/item/24684

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。