簡體   English   中英

C#部分類和COM接口

[英]C# Partial Class and COM Interface

我正在創建一個C#庫,並將向其公開一個COM接口。

我了解執行此操作所需的步驟,即

  1. 確保已分配GUID,例如: [assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
  2. 確保COMVibile屬性為True
  3. 在類上放置一個GUID屬性,例如[GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
  4. 使用Regasm注冊。

我的問題是這個。 如果我定義了局部類。 我是否需要將GuidAttribute添加到這兩個類中?

實際上,考慮到這一點,我猜測這個問題適用於任何屬性(例如Serializable )。

任何幫助,將不勝感激。 謝謝。

如果將屬性兩次應用於同一類(無論是在同一文件中還是在兩個不同文件中),則該類將兩次應用該屬性。 在兩個文件中定義的部分類不是兩個類,它只是在多個文件中部分定義的一個類。 因此,不,不要在每個文件中再次重復GuidAttribute。

在編譯時,部分類型定義的屬性會合並。 例如,以下聲明:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

等效於:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }

暫無
暫無

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

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