Unity如何載入泛型配置

2021-09-06 05:40:51 字數 2487 閱讀 9022

unity提供automatic type lookup,你可以在配置節中定義assembly和namespace,比如mscorlib和system:

<

unity

xmlns

=」>

=」system」

/>

<

assembly

name

=」mscorlib,

2.0.0.0, culture

=neutral,

publickeytoken

=b77a5c561934e089″

/>

<

container

/>

unity

>

你可以為型別定義別名,預設unity為基元型別定義了對應的別名,等同於c#中的關鍵字。比如system.int32對應int(下面的int別名可以省略):

<

unity

xmlns

=」>

=」system」

/>

<

assembly

name

=」mscorlib,

2.0.0.0, culture

=neutral,

publickeytoken

=b77a5c561934e089″

/>

<

alias

alias

=」int」

type

=」system.int32″

/>

<

container

/>

unity

>

泛型是一種特殊型別,它不同於一般的型別定義。比如對於dictionary它的型別輸出是:system.collections.generic.dictionary`2[system.string,system.int32]。在unity中可以通過以下語法配置:

ilist=>ilist[t]

idictionary

=> idictionary[k, v]

假設現在要註冊乙個idictionary的實現:

<

unity

xmlns

=」>

=」system」

/>

<

namespace

name

=」system.collections.generic」

/>

<

assembly

name

=」mscorlib,

2.0.0.0, culture

=neutral,

publickeytoken

=b77a5c561934e089″

/>

<

container

>

<

register

type

=」idictionary[string,

int]」 mapto

=」dictionary[string,

int]「

>

<

constructor

/>

register

>

container

>

unity

>

如果沒有自定義別名,可以在對應的型別中以方式新增完成的型別資訊:

<

unity

xmlns

=」>

=」system」

/>

<

namespace

name

=」system.collections.generic」

/>

<

assembly

name

=」mscorlib,

2.0.0.0, culture

=neutral,

publickeytoken

=b77a5c561934e089″

/>

<

container

>

<

register

type

=」idictionary[string,

[system.int32]]」 mapto

=」dictionary[string,

[system.int32]]」

>

<

constructor

/>

register

>

container

>

unity

>

需要注意的是乙個型別有多個建構函式時,需要顯示指定乙個建構函式。比如dictionary[k, v]擁有三個建構函式。

Unity學習筆記 泛型

泛型就 是將型別做引數 泛型約束t struct 型別引數 必須是值型別 可以指定除 nullable 以外的任何值型別。有關更多資訊,請參見 使用可以為 null 的型別 c 程式設計指南 t c lass 型別引數 必須是引用型別 這一點也適用於任何 類 介面 委託或陣列 型別。t new 型別...

關於泛型,什麼是泛型,如何理解泛型

泛型是jdk5中引入的特性,它提供了編譯時型別安全檢測機制,該機制允許在編譯時檢測到非法的型別,就不至於在執行時出現轉換異常,它的本質是引數化型別 即以任何型別 t 作為引數,在使用時可以傳入型別t的具體值 t 也就是將型別由原來的具體型別用引數t表示 即型別引數化 然後在使用 呼叫時傳入具體的型別...

藍鷗Unity開發基礎 泛型

藍鷗unity開發基礎 泛型 本節課我們來學習c 中的泛型,泛型是乙個特殊的型別,它可以最大限度的重用我們的 使用泛型能夠最大限度的重用 保護型別安全,提高效能 泛型成員因為型別的不確定性,不能使用算術運算子,比較運算子 型別引數可以有多個,可以是編譯器能夠識別的任何型別 型別引數的名字不能夠隨便起...