a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

如何利用反射構(gòu)建元數(shù)據(jù)查看器

2020-01-24 03:14:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

原理比較簡(jiǎn)單,引入System.Reflection命名空間,利用反射查看某種Type下的方法,屬性,字段和支持的接口等。

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
using System.Reflection;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("Please input a type:");
                string typeStr = Console.ReadLine();

                if (typeStr == "exit" || typeStr == "quit")
                    break;

                try
                {
                    Type type = Type.GetType(typeStr);
                    ListFields(type);
                    ListMethods(type);
                    ListInterfaces(type);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("It is not a valid type!");
                }
            }

        }

        #region Methods
        public static void ListFields(Type type)
        {
            Console.WriteLine("******** Fields: ********");
            //foreach (FieldInfo item in type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Default))
            foreach (FieldInfo item in type.GetFields())
            {
                Console.WriteLine("->" + item.Name);
            }
            Console.WriteLine("");
        }

        public static void ListMethods(Type type)
        {
            Console.WriteLine("******** Methods: ********");
            //foreach (var item in type.GetMethods(BindingFlags.Default | BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic))
            var methodInfo = type.GetMethods().Select(m => m.Name).Distinct();
            foreach (var item in methodInfo)
            {
                Console.WriteLine("->" + item);
            }
            Console.WriteLine("");
        }

        public static void ListInterfaces(Type type)
        {
            Console.WriteLine("******** Interfaces: ********");
            foreach (var item in type.GetInterfaces())
            {
                Console.WriteLine("->" + item.Name);
            }
            Console.WriteLine("");
        }

        public static void ListProperties(Type type)
        {
            Console.WriteLine("******** Properties: ********");
            foreach (var item in type.GetProperties())
            {
                Console.WriteLine("->" + item.Name);
            }
            Console.WriteLine("");
        }
        #endregion

    }

}


測(cè)試case 1:
復(fù)制代碼 代碼如下:

Please input a type:
System.Int32
******** Fields: ********
->MaxValue
->MinValue

******** Methods: ********
->CompareTo
->Equals
->GetHashCode
->ToString
->Parse
->TryParse
->GetTypeCode
->GetType

******** Interfaces: ********
->IComparable
->IFormattable
->IConvertible
->IComparable`1
->IEquatable`1


測(cè)試case 2:
復(fù)制代碼 代碼如下:

Please input a type:
System.Math
******** Fields: ********
->PI
->E

******** Methods: ********
->Acos
->Asin
->Atan
->Atan2
->Ceiling
->Cos
->Cosh
->Floor
->Sin
->Tan
->Sinh
->Tanh
->Round
->Truncate
->Sqrt
->Log
->Log10
->Exp
->Pow
->IEEERemainder
->Abs
->Max
->Min
->Sign
->BigMul
->DivRem
->ToString
->Equals
->GetHashCode
->GetType

******** Interfaces: ********


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线视频第一页 | 毛片av片| 特级黄色毛片 | 亚洲美女视频一区二区三区 | 国产视频观看 | 欧美伊人影院 | 欧美日韩精品一区二区 | 久久精品毛片 | 色综合一区| 国产在线一区二区三区四区 | 操久久| 天堂视频中文字幕 | 麻豆三级| 国产成人久久精品一区二区三区 | 欧美日韩高清一区二区 | 在线免费毛片 | 成人免费视频观看视频 | 久久99精品视频 | 国产视频一区二区三区四区 | 狠狠色香婷婷久久亚洲精品 | 国产精品一区二区久久久久 | 日韩免费精品视频 | 亚洲一二三在线 | 国产婷婷色综合av蜜臀av | 精品国产91乱码一区二区三区 | 欧美精品xxx | 国内精品国产成人国产三级粉色 | 青娱乐国产| 欧美日韩精品免费观看视频 | 国产精品二区一区 | 日韩欧美一区二区三区 | 久操成人| 久久亚洲精品中文字幕 | 精品欧美激情在线观看 | 国产在线精品一区二区三区 | 久久成人毛片 | 国产精品福利久久 | 99久久婷婷国产精品综合 | 日韩在线欧美 | 国产区区 | 国产精品色综合 |