PowerAMC représente les événements, indexeurs et propriétés C# sous la forme d'attributs UML standard avec des propriétés supplémentaires.
Pour plus d'informations sur la création et l'utilisation des attributs, voir Attributs (MOO).
Pour créer événement, un indexeur ou une propriété, affichez la feuille de propriétés d'un type, cliquez sur l'onglet Attributs, cliquez sur le bouton Ajouter en bas de l'onglet, puis sélectionnez l'option appropriée.
Evénements – stéréotype <<Event>> avec une ou plusieurs opérations liées représentant les gestionnaires add et/ou remove
Indexeurs – stéréotype <<Indexer>> avec une ou plusieurs opérations liées représentant les accesseurs get et/ou set
La visibilité de la propriété est définie par l'opération de l'accesseur get si elle existe, dans le cas contraire par celle de l'accesseur set.
Lorsqu'un attribut devient une propriété, un attribut de mise en oeuvre est automatiquement créé pour stocker la valeur de la propriété. L'attribut de réalisation n'est pas persistant et a une visibilité private. Il a le stéréotype <<PropertyImplementation>> et porte le même nom que la propriété, mais commence par une minuscule. Si le nom de la propriété commence déjà par un caractère minuscule, son premier caractère sera converti en majuscule.
L'attribut de réalisation peut être retiré pour les propriétés qui n'en n'ont pas l'usage (propriétés calculées, par exemple
Si l'attribut étendu booléen Extern est défini à true, aucune opération ne doit être liée à cette propriété
Lorsqu'une déclaration de propriété inclut un modificateur Extern, la propriété est dite propriété externe. Une déclaration de propriété externe ne fournit aucune réalisation concrète, chacune de ses déclarations d'accesseur consiste alors en un point-virgule
Les feuilles de propriétés d'événement, d'indexeur et de propriété contiennent tous les onglets d'une feuille de propriétés d'attribut standard, avec en plus un onglet C#, dont les propriétés sont répertoriées ci-dessous :
Propriété |
Description |
---|---|
Unité de compilation |
Spécifie l'unité de compilation dans laquelle l'attribut sera stocké. Disponible uniquement si le type parent est un type partiel (alloué à plusieurs unités de compilation). |
New |
Spécifie le modificateur new pour la déclaration de l'attribut. |
Unsafe |
Spécifie le modificateur unsafe pour la déclaration de l'attribut. |
Abstract |
Spécifie le modificateur abstract pour la déclaration de l'attribut. |
Extern |
Spécifie le modificateur extern pour la déclaration de l'attribut. |
Override |
Spécifie le modificateur override pour la déclaration de l'attribut. |
Sealed |
Spécifie le modificateur sealed pour la déclaration de l'attribut. |
Virtual |
Spécifie le modificateur virtual pour la déclaration de l'attribut. |
Dans l'exemple suivant, la classe Employee contient deux 2 propriétés. L'opération Setter a été supprimée de la propriété TimeReport :