2

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)。

どんな助けでもいただければ幸いです。ありがとう。

4

2 に答える 2

5

同じクラスに属性を2回適用すると(同じファイルにあるか2つの異なるファイルにあるかに関係なく)、クラスには属性が2回適用されます。2つのファイルで定義された部分クラスは2つのクラスではなく、複数のファイルで部分的に定義された1つのクラスにすぎません。したがって、いいえ、各ファイルでGuidAttributeを再度繰り返さないでください。

于 2010-03-19T11:40:08.027 に答える
2

コンパイル時に、部分型定義の属性がマージされます。たとえば、次の宣言:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

と同等です:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
于 2010-03-19T11:40:29.730 に答える