中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

反射reflection的使用方法

這篇文章主要介紹“反射reflection的使用方法”,在日常操作中,相信很多人在反射reflection的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”反射reflection的使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創新互聯主要從事網站設計、成都網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務永和,十余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792

//反射
public static void Reflection()
{

            //調用非靜態方法

            // 1.Load(命名空間名稱),GetType(命名空間.類名)
            Type type = Assembly.Load("ConsoleApp").GetType("ConsoleApp.Program");//動態加載dll 并獲取類型
            //2.GetMethod(需要調用的方法名稱)
            MethodInfo method = type.GetMethod("GetReflect", new Type[] { typeof(string), typeof(int) });
            // 3.調用的實例化方法需要創建類型的一個實例
            object obj = Activator.CreateInstance(type);
            //4.方法需要傳入的參數
            object[] parameters = new object[] { "xxx", 10 };
            // 5.調用方法
            string result = (string)method.Invoke(obj, parameters);

            //調用靜態方法

            type.InvokeMember("GetReflect", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static |
            System.Reflection.BindingFlags.Public, null, null, new object[] { "sss", 15 });

            //獲取方法名稱

            MethodInfo[] info = typeof(Program).GetMethods();
            foreach (MethodInfo item in info)
            {
                Console.WriteLine(item.Name);
                var parames = item.GetParameters();
                foreach(var parame in parames)
                {
                    Console.WriteLine(parame.Name + "--" + parame.ParameterType.Name);
                }
            }

           //獲取對象的屬性及類型
            Type tt = typeof(User);
            var fields = tt.GetProperties();
            foreach (var item in fields)
            {
                Console.WriteLine(item.Name + ":" + item.GetValue(user, null) + ":" + item.PropertyType);
            }

            //獲取對象的屬性并賦值,調用類中的方法

            Type projectType = typeof(User);
            object projectInstance = Activator.CreateInstance(projectType);

            PropertyInfo propertyName = projectType.GetProperty("name");
            propertyName.SetValue(projectInstance, "小明");
            var projectName = propertyName.GetValue(projectInstance);

            PropertyInfo propertyAge = projectType.GetProperty("age");
            propertyAge.SetValue(projectInstance, 99, null);
            var projectAge = propertyAge.GetValue(projectInstance);

            Console.WriteLine("姓名:{0} 年齡:{1}", projectName, projectAge);

            MethodInfo method1 = projectType.GetMethod("GetReflect", new Type[] { typeof(string), typeof(int) });
            object[] parsArray = { "武大郎",55 };
            method1.Invoke(projectInstance, parsArray);

}

 public static string GetStaticReflect(string name, int age)
 {
            Console.WriteLine("反射執行了" + name + "今年" + age + "歲了");
            return name + "123";
 }

    public class User
    {
        public string name { get; set; }
        public int age { get; set; }

        public void GetReflect(string name, int age)
        {
            Console.WriteLine("User反射執行了" + name + "今年" + age + "歲了");
        }
    }

到此,關于“反射reflection的使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

分享題目:反射reflection的使用方法
轉載來源:http://m.2m8n56k.cn/article38/ijjcpp.html

成都網站建設公司_創新互聯,為您提供電子商務企業網站制作自適應網站商城網站ChatGPT做網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名
主站蜘蛛池模板: 国产亚洲精品高清在线 | 欧美专区视频 | 日本欧美视频在线 | 欧美日韩在线视频免费完整 | 九九热播视频 | 国产日产久久高清欧美一区 | 玖草在线播放 | 国产成人精品在线观看 | 免费日韩在线视频 | 亚洲黄色小视频 | 国内精品不卡一区二区三区 | 日本在线资源 | 欧美另类极品 | 精品国产日韩亚洲一区二区 | 91黑丝国产线观看免费 | 亚洲国产欧美在线不卡中文 | 草草影院免费 | 欧美色爱综合 | 91久久国产成人免费观看资源 | 极品美女户外勾搭无套 | 国产色啪午夜免费视频 | 亚洲欧美视频一区 | 青青草原色 | 国产一区精品在线观看 | 久久性精品 | 欧美精品久久久亚洲 | 精品久| 亚洲情a成黄在线观看动 | 老色歌uuu26| 在线视频一区二区日韩国产 | 欧美手机看片 | 亚洲精品亚洲人成在线 | 久久久国产精品视频 | 亚洲日本一区二区三区高清在线 | 国产精品日韩一区二区三区 | 欧美人一级淫片a免费播放 欧美人与z0z0xxxx | 一级毛片一级毛片一级毛片 | 国产步兵社区视频在线观看 | 免费高清特黄a 大片 | 久久免费大片 | 精品日本一区二区三区在线观看 |