C#中Typeof 是什么?和GetType 有什么關系?


typeof 用於獲取類型的 System.Type 對象

MSDN上typeof的說明:“用於獲取類型的 System.Type 對象。”

typeof操作符(一些書叫bai運算符),這點很重要。在C#中所有的操作符最后都變為函數了。這也就不奇怪為什么一個看似函數的東西卻被稱為操作符的原因了。

注意返回的是Type對象,內含有許多信息。如類型的信息。方法有哪些,屬性有哪些,字段有哪些。如果用其它的技術,如反射、序列化什么的,配合使用的話會更方便。

typeof括號中的不能是變量名

typeof(x)中的x,必須是具體的類名、類型名稱等,不可以是變量名稱。

GetType()方法繼承於Object(C#中所有類的基類都是object類。基類是相對於派生類而言的,比方說:如果B類繼承自A類,則A就是B的基類。),所以C#中任何對象都具有GetType()方法,它的作用和typeof()相同,返回Type類型的當前對象的類型。

舉例說明:

有這樣一個變量i: Int32 i = new Int32();

i.GetType()返回值是Int32的類型,但是無法使用typeof(i),因為i是一個變量。如果要使用typeof(),則只能:typeof(Int32),返回的同樣是Int32的類型。

Typeof()是運算符,用於獲取類型的 System.Type 對象。

而GetType是方法,獲取當前實例的類型;

Typeof()的參數只能是int,string,String,自定義類型,且不能是實例;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM