2010-04-30 58 views
4

從.Net中的Type類繼承是否有任何意義?繼承自.Net的Type類.Net

即這樣做的含義是什麼?

我問這個,因爲這個文本MSDN文檔中的:

給繼承當您從類型繼承時,必須重寫 以下成員...的 成員列表。

MSDN文檔的類型:​​http://msdn.microsoft.com/en-us/library/system.type.aspx

好了,這實際上是說,任何人都可以從類型繼承......但他們不說,爲什麼你想這樣做。

謝謝!

+0

你爲什麼要這麼做?任何特殊的需求? – Kangkan 2010-04-30 13:32:33

+0

@Kangkan:不用使用屬性就可以編寫反射信息。這只是一個想法!我只是想知道可能性。謝謝! – 2010-04-30 13:46:17

回答

2

這一切都取決於你在做什麼。

這裏是一種情況。也許我需要額外的功能在Type類中用於我的應用程序的某個時刻,可以說是用於日誌記錄。然而,然後我需要將它傳遞給一個函數,它只需要Type。我可以在不調用MyObject.GetType()的情況下將繼承的類傳遞給該函數;

0

我有時希望.Net的反射庫中的其他類的一些類是從接口派生的,因爲當我爲我的代碼生成代碼編寫單元測試時,我必須執行skin =和=包裝其中的許多類。

例如,它會如果有一個IMethodInfo接口的MethodInfo implmented是很好的。然後我可以編寫我的FakeMethodInfo對象用於我的單元測試。

類型:我想創建一個FakeType類,它具有與Type相同的接口,但不涉及CLR,而是返回由我的單元測試代碼提供的假數據。

+0

我認爲如果我可以擴展爲我自己的類型返回的類型...將信息添加到它,而不必使用屬性,它會很好。 – 2010-04-30 13:42:36

+1

對於使用System.Component.TypeDescriptor進行反射的類,ICustomTypeDescriptor非常方便。原則上可以用該界面覆蓋所有內容。 .NET框架中涉及Windows窗體和其他組件技術的許多類都使用這種機制。我不知道有一種機制來鉤住Object.GetType()。 – 2010-04-30 14:39:27