第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

.NET:以其靜態(tài)方法確定“此類(lèi)”的類(lèi)型

.NET:以其靜態(tài)方法確定“此類(lèi)”的類(lèi)型

桃花長(zhǎng)相依 2019-11-30 09:58:43
在非靜態(tài)方法中,我可以使用this.GetType()并且它將返回Type。如何通過(guò)Type靜態(tài)方法獲得相同的信息?當(dāng)然,我不能只寫(xiě),typeof(ThisTypeName)因?yàn)門(mén)hisTypeName僅在運(yùn)行時(shí)才知道。謝謝!
查看完整描述

3 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果您要尋找與this.GetType()靜態(tài)方法等效的1襯管,請(qǐng)嘗試以下方法。


Type t = MethodBase.GetCurrentMethod().DeclaringType

盡管這可能比僅使用更昂貴typeof(TheTypeName)。


查看完整回答
反對(duì) 回復(fù) 2019-11-30
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

還有一些其他答案尚未完全弄清,這與您只在執(zhí)行時(shí)可用的類(lèi)型的想法有關(guān)。


如果使用派生類(lèi)型執(zhí)行靜態(tài)成員,則在二進(jìn)制文件中將省略實(shí)類(lèi)型名稱(chēng)。因此,例如,編譯以下代碼:


UnicodeEncoding.GetEncoding(0);

現(xiàn)在在其上使用ildasm ...,您將看到發(fā)出如下調(diào)用:


IL_0002:  call       class [mscorlib]System.Text.Encoding 

[mscorlib]System.Text.Encoding::GetEncoding(int32)

編譯器已解決對(duì)的調(diào)用Encoding.GetEncoding-沒(méi)有UnicodeEncoding剩余痕跡。恐怕這會(huì)使您對(duì)“當(dāng)前類(lèi)型”的想法變得荒謬。


查看完整回答
反對(duì) 回復(fù) 2019-11-30
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

另一種解決方案是使用自引用類(lèi)型


//My base class

//I add a type to my base class use that in the static method to check the type of the caller.

public class Parent<TSelfReferenceType>

{

    public static Type GetType()

    {

        return typeof(TSelfReferenceType);

    }

}

然后在繼承它的類(lèi)中,創(chuàng)建一個(gè)自引用類(lèi)型:


public class Child: Parent<Child>

{

}

現(xiàn)在,Parent內(nèi)部的調(diào)用類(lèi)型typeof(TSelfReferenceType)將獲得并返回調(diào)用者的Type,而無(wú)需實(shí)例。


Child.GetType();

-搶


查看完整回答
反對(duì) 回復(fù) 2019-11-30
  • 3 回答
  • 0 關(guān)注
  • 495 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)