C#反射

作者: 钱哆哆jj | 来源:发表于2018-05-24 10:32 被阅读0次

    什么是元数据,什么是反射 

    程序是用来处理数据的,文本和特性都是数据,而程序本身(类的本身和BLC中的类)

    这些也是数据

    有关程序及其数据的数据被称为元数据(metadata),他们保存在程序的程序集中

    程序在运行时,可以查看其他程序集或本身的元数据,一个运行的程序查看本身的或查看其他程序集的元数据的行为叫做反射

    在C#里Type类描述了一个类所有的信息获取一个Type类有两种方法

    Type t=MyInstance.GetType();通过类的实例获取没个类都有一个GetType()方法

    Type t=typeof(NamespaceName.ClassName)直接通过typeof运算符获取

    Assembly:表示程序集

    Enent:表示事件

    PropertyInfo:表示属性

    MethodInfo:表示方法

    Type type = Type.GetType("组合模式.Test");

                    Console.WriteLine(type);

                    object a=      Activator.CreateInstance(type);

                    Console.WriteLine(a);

                    object[] parmas = new object[1] { "李永涛" };

                    MethodInfo method = type.GetMethod("Print");

                    object result=  method.Invoke(a,parmas);

                    Console.WriteLine(result.ToString());

    特性 在方法前面加上 [Obsolete] 表示该方法弃用

     [Obsolete("")]双引号里的内容会在该方法时看到

    但是这样的话方法虽然会提示过时但还是可以用 \

    [Obsolete ("hhha",true)]这样的话就可以了在调用该方法时会编译错误

    相关文章

      网友评论

          本文标题:C#反射

          本文链接:https://www.haomeiwen.com/subject/rwwayxtx.html