Dot-Net

Type和TypeInfo有什麼區別或關係?

  • June 8, 2015

我無法完全理解何時使用一個或另一個。他們是如此相似,以至於我和他們都感到困惑。說到反射,不知道是用普通的Type還是TypeInfo。

.NET Framework 本身增加了與 .NET 等內容的混淆assembly.DefinedTypes。它檢索一個IEnumerable<TypeInfo>我認為它應該是的位置IEnumerable<Type>。此外,還有一種typeInfo.AsType()方法。那是什麼意思?它們可以互換嗎?

此外,它們的方法非常相似。

看起來 TypeInfo 就像是經典的更強大的版本Type。我錯了嗎?

MSDN 文件

TypeInfo 對象表示類型定義本身,而 Type 對象表示對類型定義的引用。獲取 TypeInfo 對象會強制載入包含該類型的程序集。相比之下,您可以操作 Type 對象,而不必要求執行時載入它們引用的程序集。

因此,Type它提供了對像數據的較淺表示,即,將類型的名稱提供為字元串。

asTypeInfo提供了更豐富的類型表示,包括成員列表、實現的介面和基本類型。

此處更詳細地解釋了這些差異。

引用自:https://stackoverflow.com/questions/30699863