Propriété

Pour modéliser une propriété C#, vous devez créer un attribut avec la valeur <<Property>>.

Dans ce cas, un autre attribut ayant le stéréotype <<PropertyImplementation>> est alors automatiquement créé, il s'affiche avec un trait de soulignement dans la liste des attributs. Les opérations getter et setter correspondantes sont également automatiquement créées.

Vous pouvez supprimer l'attribut de mise en oeuvre.

Si vous supprimez à la fois les opérations getter et setter, l'attribut n'a plus le stéréotype <<Property>>.

Lorsque vous définissez un attribut <<Property>>, le caractère modifiable ou non et les opérations getter/setter sont intimement liés comme indiqué dans le tableau suivant :

Opérations

Caractère modifiable de la propriété

Si vous conservez les opérations getter et setter

La propriété est Modifiable

Si vous supprimez l'opération setter d'une propriété modifiable

La propriété devient Lecture seule

Si vous supprimez l'opération getter d'une propriété modifiable

La propriété devient Ecriture seule

D'un autre côté, si vous modifiez le caractère modifiable ou non de la propriété, les opérations refléteront ce changement, par exemple si vous transformez une propriété modifiable en propriété en lecture seule, l'opération setter est automatiquement supprimée.

Dans l'exemple suivant, la classe Employee contient 2 propriétés. L'opération Setter a été supprimée pour la propriété TimeReport :



{
 public class Employee
 {
  private int _Function;
  private int _TimeReport;
  // Property Function
  private int Function
  {
   get
   {
     return _Function;
    }
   set
   {
     if (this._Function != value)
      this._Function = value;
    }
  }
  // Property TimeReport
  private int TimeReport
  {
   get
   {
     return _TimeReport;
    }
  }
 }

Le tableau suivant répertorie les différents modificateurs de propriété pris en charge dans PowerAMC :

Modificateur de propriété C#

Equivalent PowerAMC

Abstract

Attribut étendu Abstract défini à True

Extern

Attribut étendu Extern défini à True

Override

Attribut étendu Override défini à True

Sealed

Attribut étendu Sealed défini à True

Unsafe

Attribut étendu Unsafe défini à True

Virtual

Attribut étendu Virtual défini à True