I'm creating a C# library and am going to expose a COM interface to it.
I understand the steps requried to do this, ie
[assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
[GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
My question is this. If I have a partial class defined. Do I need to add the GuidAttribute
to both these classes?
In fact, thinking about this, I'm guessing this question applies whatever the attribute (eg Serializable
).
Any help would be appreciated. Thanks.
If you apply an attribute twice to the same class (no matter if in the same file or in two different files) then the class will have the attribute applied twice. A partial class defined in two files is not two classes, it's just one class partially defined in multiple files. So, no, don't repeat the GuidAttribute in each file again.
At compile time, attributes of partial-type definitions are merged. For example, the following declarations:
[System.SerializableAttribute]
partial class Moon { }
[System.ObsoleteAttribute]
partial class Moon { }
are equivalent to:
[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.