Bonjour,

J'utilise pas mal les méthodes d'extensions mais je viens de me rendre compte qu'on ne peut pas modifier la variable par référence.

Par exemple on ne peut pas faire quelque chose comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public static void SetTest( ref this string str )
{
    str = "new str";
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
string test = "str";
test.SetTest();
System.Console.Write( test );
//Output : new str
On est apparemment obligé de faire ça

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public static string SetTest( this string str )
{
    return "new str";
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
string test = "str";
System.Console.Write( test.SetTest() );
//Output : new str
L’erreur est assez explicite :
The parameter modifiers `this' and `ref' cannot be used together
(http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx)

Mais je me demande si il n'y pas moyen de contourner du manière ou d'une autre cette limitation ?