簡體   English   中英

Unity 開發人員如何限制從 Object 派生的泛型類型參數?

[英]How were Unity developers able to constrain a generic type parameter on being derived from Object?

Unity 開發人員如何限制從 Object 派生的泛型類型參數?

在尋找問題的答案時,我遇到了這個問題 有答案說明以下內容:

這兩個約束之間沒有區別,除了一個是不允許明確聲明的。

證明應該不可能約束對象。 在 Unity 中,我們可以看到以下方法:

public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object;

在此處輸入圖片說明

這是因為 Unity 使用的是 Mono 而不是 CLR 嗎?

那是因為Object約束不是System.Object ,而是UnityEngine.Object ,您正在查看的類。

例如...

//public class Object { }

public class MyClass<T> where T : Object { }

編譯失敗,報錯:

CS0702 約束不能是特殊類“對象”

...但是如果你取消注釋第一行就會成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM