2010-07-20 96 views
2

我很好奇,如果可以使用新的TypeIdentifierAttribute屬性在.NET中創建2個接口(在相同的程序集或單獨的程序集中),它們可以視爲等效。我沒有找到辦法。我們可以在沒有COM的.NET中使用TypeIdentifierAttribute嗎?

我在互聯網上看到了一些暗示這最終可能的東西,但它看起來像當前的實現只適用於COM interops。我明白這個意圖是爲了嵌入COM interops。我不是在處理COM interops。

此外,我沒有興趣討論爲什麼我想要這樣做,我不想把這個問題引向其他類型的解決方案。我們只是說我正在嘗試,我想看看是否有什麼可以用TypeIdentifierAttribute來完成。

回答

3

根據documentationanecdotal evidence,可以使用標準的非COM接口進行類型等價處理。

從文檔看來,如果您的接口位於不同的程序集中,則不需要TypeIdentifierAttribute。要將兩個界面視爲等同,您只需要:

  1. 確保它們都具有相同的名稱,並且位於相同的命名空間中。
  2. GuidAttribute應用於他們,爲他們分配相同的Guid。
+0

謝謝你,你的第二個鏈接導致我http://blogs.msdn.com/b/mshneer/archive/2008/10/28/advances-in-net-type-system-type-equivalence- demo.aspx具有非常有用的演示源代碼。 – 2010-08-20 05:10:10

相關問題