File: dotnet03.cs - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off


class MaClasse
{
  private Modifier<int> modifier;
  private int       counter;

  public  MaClasse ()
  {
    this.modifier = new Modifier<int> (this.counter);
    this.counter = 3;
  }

  public void   Test ()
  {
    Console.WriteLine ("avant: " + this.counter); // devrait afficher "avant: 3"

    this.modifier.SetValue (12);

    Console.WriteLine ("apr�s: " + this.counter); // devrait afficher "apr�s: 12"
  }
}

class Modifier<T>
{
  // attributs ?
  private /*FIXME*/ myRef;

  public  Modifier (ref T myVar)
  {
    myRef = /*FIXME*/;
  }

  public void SetValue (T value)
  {
    this.myRef = value;
  }
}