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;
    }
}