C# classe parcial e interface com
-
21-09-2019 - |
Pergunta
Estou criando uma biblioteca C# e vou expor uma interface com ela.
Eu entendo as etapas requisitadas para fazer isso, ou seja,
- Garanta que o GUID assumido seja atribuído, por exemplo:
[assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
- Garantir que o atributo Comvibile seja verdadeiro
- Coloque um atributo GUID na aula, por exemplo
[GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
- Registre -se usando o ReGasm.
Minha pergunta é essa. Se eu tiver uma classe parcial definida. Eu preciso adicionar o GuidAttribute
Para ambas as classes?
De fato, pensando sobre isso, acho que essa pergunta aplica qualquer que seja o atributo (por exemplo Serializable
).
Qualquer ajuda seria apreciada. Obrigado.
Solução
Se você aplicar um atributo duas vezes à mesma classe (independentemente do mesmo arquivo ou de dois arquivos diferentes), a classe terá o atributo aplicado duas vezes. Uma classe parcial definida em dois arquivos não são duas classes, é apenas uma classe parcialmente definida em vários arquivos. Portanto, não, não repita o GUIDATRIBUTO em cada arquivo novamente.
Outras dicas
No momento da compilação, os atributos das definições do tipo parcial são mesclados. Por exemplo, as seguintes declarações:
[System.SerializableAttribute]
partial class Moon { }
[System.ObsoleteAttribute]
partial class Moon { }
são equivalentes a:
[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }