Методы расширения C # - возврат вызывающего объекта

I ' m новичок в методах расширения и изучаем, что они могут делать.

Возможно ли, чтобы вызывающему объекту был назначен вывод без определенного назначения?

Вот простой пример для объяснения:

public static string ExtensionTest(this string input)
{
    return input + " Extended!";
}

В следующих примерах ...

var foo = "Hello World!";

var foo2 = foo.ExtensionTest(); // foo2 = "Hello World! Extended!"

foo.ExtensionTest(); // foo = "Hello World!"

foo = foo.ExtensionTest(); // foo = "Hello World! Extended!"

... есть ли способ получить foo.ExtensionTest () для получения «Hello World! Extended!» без специального назначения foo = foo.ExtensionTest ()

6
задан Shevek 26 January 2011 в 14:24
поделиться