程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#——父類中的this的指向,及用反射獲取當前類所在的Type

C#——父類中的this的指向,及用反射獲取當前類所在的Type

編輯:C#入門知識

[csharp]   using System;   using System.Collections.Generic;   using System.Linq;   using System.Text;      namespace ConsoleApplication1   {       class Program       {           static void Main(string[] args)           {               Console.WriteLine("直接 new 父類");               Parent p = new Parent();               p.Print();               Console.WriteLine("直接 new 子類");               Sub s = new Sub();               s.Print();               Console.WriteLine("父類 new 子類");               Parent p2 = new Sub();               p2.Print();                  Console.Read();           }       }          public class Parent        {           public void Print()           {               Console.WriteLine("第 1 種:隨機應變,子就是子父就是父。獲取當前實例的type");               Type t1 = this.GetType();               Console.WriteLine(t1.FullName);               Console.WriteLine("第 2 種:一定是父類. 獲取執行方法所在類的type ");               Type t2 = new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().DeclaringType;               Console.WriteLine(t2.FullName);               Console.WriteLine("第 3 種:一定是父類. 獲取執行方法所在類對象的type");               Type t3 = System.Reflection.MethodBase.GetCurrentMethod().ReflectedType;               Console.WriteLine(t3.FullName);               Console.WriteLine("第 4 種:一定是父類. 獲取聲明該成員的類的type");               Type t4 = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType;               Console.WriteLine(t3.FullName);               Console.WriteLine();           }       }          public class Sub : Parent       {                  }   }  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved