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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取類型的所有派生類型

獲取類型的所有派生類型

白板的微信 2019-09-26 09:42:25
有沒有更好的(性能更高或更更好的代碼;)方法來查找類型的所有派生類型?目前,我正在使用類似的東西:獲取二手裝配中的所有類型檢查所有類型的我的類型是否為“ IsAssignable”我想知道是否有更好的方法可以做到這一點?
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

我很確定您建議的方法將是查找所有派生類型的更簡便方法。父類不存儲有關(guān)其子類是什么的任何信息(如果這樣做,那將是很愚蠢的),這意味著無法避免在此處搜索所有類型。

唯一的建議是使用該Type.IsSubclassOf方法,而不是Type.IsAssignable為了檢查特定類型是否派生自其他類型。盡管如此,也許仍然有您需要使用的原因Type.IsAssignable(例如,它可以與接口一起使用)。


查看完整回答
反對 回復 2019-09-26
?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

假設baseType包含要檢查的System.Type對象,matchType包含具有當前迭代類型(通過foreach循環(huán)或其他方法)的System.Type對象:

如果要檢查Wheather MatchType是從我要使用的baseType表示的類派生的

matchType.IsSubclassOf(baseType)

而且,如果要檢查Wheather MatchType實現(xiàn)我將使用的baseType表示的接口

matchType.GetInterface(baseType.ToString(), false) != null

當然,我會將baseType.ToString()存儲為全局變量,因此不需要一直調(diào)用它。并且由于您可能在具有許多類型的上下文中需要它,因此您也可以考慮使用System.Threading.Tasks.Parallel.ForEach-Loop來遍歷所有類型...


查看完整回答
反對 回復 2019-09-26
  • 3 回答
  • 0 關(guān)注
  • 530 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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