C# - 類與類之間的繼承關系判斷

Type.IsSubclassof(Type type)

作用:用來確定 一個類是否派生自另一個類/ValueType/Enum/委托

不能用于確定:接口是派生自另一個接口,還是類實現接口

class A{}
class B : A{}A a;
B b;var boo = b.GetType().IsSubclassOf(typeof(A)) // ture

Type.IsAssignableFrom(Type type)

作用:用于確定 接口是派生自另一個接口,還是類實現接口

class A{}
class B : A{}A a;
B b;var boo = a.GetType().IsAssignable(typeof(b)) // ture

自定義關系判斷

/// <summary>/// 兼顧類與類 類與接口 接口與接口/// </summary>/// <param name="targetType">目標子類型</param>/// <param name="targetBaseType">目標基類型</param>/// <returns></returns>public static bool IsAssignableType(Type targetType, Type targetBaseType){return targetType?.IsSubclassOf(targetBaseType) != false || targetBaseType?.IsAssignableFrom(targetType) != false;}
interface IData { }
class A : IData { }
class B : A { }		var boo = FEditorUtility.IsAssignableType(typeof(B), typeof(A));
Debug.Log(boo);//true
boo = typeof(B).IsSubclassOf(typeof(A));
Debug.Log(boo);//true
boo = typeof(B).IsSubclassOf(typeof(IData));
Debug.Log(boo);//false
boo = typeof(A).IsAssignableFrom(typeof(B));
Debug.Log(boo);//true
boo = typeof(IData).IsAssignableFrom(typeof(B));
Debug.Log(boo);//true

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714034.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714034.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714034.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sqllabs第五關floor報錯注入

實驗環境sqllabs第五關 floor()報錯注入的原因是group by在向臨時表插入數據時&#xff0c;由于rand()多次計算導致插入臨時表時主鍵重復&#xff0c;從而報錯&#xff0c;又因為報錯前concat()中的SQL語句或函數被執行&#xff0c;所以該語句報錯且被拋出的主鍵是SQL語句或函…

go語言中的協程和Java中線程以及進程的區別

理解 Go 語言中的協程&#xff08;Goroutine&#xff09;、Java 中的線程和進程之間的區別可以從以下幾個方面來看&#xff1a; 輕量性&#xff1a; Goroutine&#xff08;協程&#xff09;&#xff1a; 協程是非常輕量級的執行單位&#xff0c;創建和銷毀的成本很低。在 Go 中…

深入理解Lambda表達式:基礎概念與實戰演練【第114篇—python:Lambda表達式】

深入理解Lambda表達式&#xff1a;基礎概念與實戰演練 在現代編程語言中&#xff0c;Lambda表達式作為一種輕量級的匿名函數形式&#xff0c;越來越受到程序員的青睞。特別是在函數式編程興起的今天&#xff0c;Lambda表達式在簡化代碼、提高可讀性方面發揮著重要作用。本文將…

C++筆記(六)--- 靜態成員變量/函數(static)

目錄 C語言中靜態變量 C靜態成員變量 C靜態成員函數 C語言中靜態變量 1.函數內部用static修飾的變量&#xff0c;只能在此函數使用&#xff0c;但所修飾的變量不隨函數釋放而釋放&#xff0c;下次調用時的值仍為上次結束時的值2.static修飾的全局變量只能在其定義的文件使用…

華為OD技術面試案例6-2024年

個人情況&#xff1a;西電本&#xff0c;二戰某985基本寄了。知識儲備方面&#xff1a;無任何408基礎&#xff0c;學校開過數據結構課程60分過&#xff0c;python純靠自學&#xff0c;無任何刷題經驗&#xff0c;無項目經驗&#xff0c;簡歷東拼西湊。 大概是12月底和OD聯系&a…

數據可視化原理-騰訊-熱力圖

在做數據分析類的產品功能設計時&#xff0c;經常用到可視化方式&#xff0c;挖掘數據價值&#xff0c;表達數據的內在規律與特征展示給客戶。 可是作為一個產品經理&#xff0c;&#xff08;1&#xff09;如果不能夠掌握各類可視化圖形的含義&#xff0c;就不知道哪類數據該用…

CSP-201712-2-游戲

CSP-201712-2-游戲 解題思路 初始化變量&#xff1a;定義整數變量n和k&#xff0c;分別用來存儲小朋友的總數和淘汰的特定數字。然后定義了num&#xff08;用來記錄當前報的數&#xff09;和peopleIndex&#xff08;用來記錄當前報數的小朋友的索引&#xff09;。 初始化小朋…

MATLAB環境下基于離散小波變換的體外血管圖像處理

下面簡要介紹小波變換的部分應用。 信號去噪。小波去噪是根據有效信號和噪聲信號在小波變換后表現出的不同特性實現的&#xff0c;一般可用于去除語音、圖像、視頻等中的噪聲信號。小波去噪方法根據對小波系數的非線性處理方式分為三類&#xff0c;分別是小波變換模極大值去噪…

電子電器架構新趨勢 —— 最佳著力點:域控制器

電子電器架構新趨勢 —— 最佳著力點&#xff1a;域控制器 我是穿拖鞋的漢子&#xff0c;魔都中堅持長期主義的汽車電子工程師&#xff08;Wechat&#xff1a;gongkenan2013&#xff09;。 老規矩&#xff0c;分享一段喜歡的文字&#xff0c;避免自己成為高知識低文化的工程師…

備戰藍橋杯---狀態壓縮DP基礎1之棋盤問題

它只是一種手段&#xff0c;一種直觀而高效地表示復雜狀態的手段。 我們先來看一道比較基礎的&#xff1a; 直接DFS是肯定不行&#xff0c;我們發現對某一行&#xff0c;只要它前面放的位置都一樣&#xff0c;那么后面的結果也一樣。 因此我們考慮用DP&#xff0c;并且只有0/…

Vue3+Element-Plus中ELMessage樣式丟失處理

Vu3Element-Plus項目中,element-plus使用按需引入有時會出現樣式失效和在vscode中使用會報錯[找不到名稱“ElMessage”。ts(2304)]錯誤 ELMessage彈框樣式丟失處理方法 使用按需引入就不能手動再引入 import { ElMessage } from "element-plus";ElMessage.success…

藍橋杯-單片機組基礎6——定時計數器與外部中斷混合使用(附小蜜蜂課程代碼)

藍橋杯單片機組備賽指南請查看這篇文章&#xff1a;戳此跳轉藍橋杯備賽指南文章 本文章針對藍橋杯-單片機組比賽開發板所寫&#xff0c;代碼可直接在比賽開發板上使用。 型號&#xff1a;國信天長4T開發板&#xff08;綠板&#xff09;&#xff0c;芯片&#xff1a;IAP15F2K6…

常見的瀏覽器跨域解決方法

1. 前端方法&#xff1a;JSONP&#xff08;僅適用于GET請求&#xff09; JSONP&#xff08;JSON with Padding&#xff09;是一種利用<script>標簽的src屬性不受同源策略限制的特性來實現跨域數據請求的方法。JSONP通過在前端動態創建<script>標簽&#xff0c;并將…

4.1.CVAT——目標檢測的標注詳細步驟

文章目錄 1. 進入任務1. 創建任務2. 已創建的task3. 進入標注界面 2. 選擇標注類型2.1 選擇標注類型2.2 進行標注2.3 遮擋 2.快捷鍵3.導出標注結果 1. 進入任務 登錄后會看到如下圖界面&#xff0c;CVAT的標注最小單位是Task&#xff0c;每個Task為一個標注任務。點擊Task按鈕…

[法規規劃]國家數據局局長劉烈宏《激活數據要素價值》演講要點解析

國家數據局黨組書記、局長劉烈宏在北大光華論壇上發表了題為《激活數據要素價值》的演講&#xff0c;當時曾極大推動了市場熱度&#xff0c;引發了行業思考。現在演講過去了一段時間&#xff0c;但是溫故而知新&#xff0c;我們不妨結合演講之后的市場反應&#xff0c;回顧一下…

蚓鏈數字化快速轉型五步

數字化轉型對于許多企業來說是一個頭痛的問題&#xff0c;因為他們可能感到缺乏明確的方向和方法。不過&#xff0c;蚓鏈數字化生態系統提出了一套快速轉型五步法&#xff0c;旨在幫助企業明確目標、建立團隊、設計權益、提供思維和方法&#xff0c;并共享生態資源&#xff0c;…

【java任意文件漏洞修復,使用文件魔數解決】

java任意文件漏洞修復&#xff0c;使用文件魔數解決 背景&#xff1a; 客戶進行滲透測試&#xff0c;驗證上傳文件的程序沒有對上傳文件作任何過濾&#xff0c;導致可以上傳任意文件到服務器&#xff0c;甚至是病毒文件和Webshell木馬文件。 解決辦法&#xff1a;對于上傳的附件…

html基本標簽

<h1></h1> <p></p> h是標簽從h1~h6&#xff0c;沒用h7,h8 p是段落 <a href"https://www.educoder.net">Educoder平臺</a> href可以指定鏈接進行跳轉 <img src"https://www.educoder.net/attachments/download/2078…

【論文精讀】DALLE: Zero-Shot Text-to-Image Generation零樣本文本到圖像生成

文章目錄 一、前言二、摘要三、方法&#xff08;一&#xff09;主要目標&#xff08;二&#xff09;stage 1&#xff1a;訓練離散變分自動編碼器&#xff08;dVAE&#xff09;&#xff08;三&#xff09;stage 2&#xff1a;訓練自回歸轉換器&#xff08;四&#xff09;公式表達…

「優選算法刷題」:最后一塊石頭的重量

一、題目 有一堆石頭&#xff0c;每塊石頭的重量都是正整數。 每一回合&#xff0c;從中選出兩塊 最重的 石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#xff1a; 如果 x y&#xff0c;那么兩塊石頭…