エクステンションメソッドが新しく、できることを模索しています。C#エクステンションメソッド - 呼び出し元オブジェクトを返す
特定の割り当てを行わずに呼び出し元オブジェクトに出力を割り当てることは可能ですか?具体的に割り当てずに"Hello World! Extended!"
をもたらすことがfoo.ExtensionTest()
を取得する方法がある...次の例で
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 = foo.ExtensionTest()
サウンズ'foo.Extension();'のようになります。残念ながら、言語には現在この機能がありません。おそらく言語デザイナーに推薦する何か? :)個人的には、私はそれを望んでいません。 – Ani
@アニ:ハハ、いや!ああ、あなたは*虐待*が起こると想像できますか? 'string bar = foo; foo.DoSomething(); Console.WriteLine(ReferenceEquals(bar、foo)); '...(出力:' False'、開発者:* WHAAAT?!?*) –
@ダンタオ:そうです。すべてのヒントは静的メソッドに属します。 – Ani