C# 部分クラスと COM インターフェイス
-
21-09-2019 - |
質問
C# ライブラリを作成しており、それに COM インターフェイスを公開する予定です。
これを行うために必要な手順を理解しました。
- GUID が割り当てられていることを確認します。例:
[assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
- COMBibile 属性が True であることを確認してください
- クラスに GUID 属性を追加します。
[GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
- Regasmを使用して登録します。
私の質問はこれです。部分クラスが定義されている場合。を追加する必要がありますか? GuidAttribute
これら両方のクラスに?
実際、これについて考えると、この質問は属性に関係なく当てはまると思います(例: Serializable
).
助けていただければ幸いです。ありがとう。
解決
あなたは、同じクラス(どんなに場合は、同じファイル内または2つの異なるファイル内)に二度属性を適用する場合は、
そのクラスは、属性が2回適用されます。 2つのファイルに定義された部分クラスを2つのクラスではない、それは部分的に複数のファイルで定義されているだけで一つのクラスです。だから、いや、再び各ファイルにGuidAttributeを繰り返さないでください。
他のヒント
は、コンパイル時には、部分的な型定義の属性がマージされます。たとえば、次の宣言ます:
[System.SerializableAttribute]
partial class Moon { }
[System.ObsoleteAttribute]
partial class Moon { }
は同等です
[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
所属していません StackOverflow