C#扩展方法 – 返回调用对象
发布时间:2020-12-15 07:39:53 所属栏目:百科 来源:网络整理
导读:我是Extension Methods的新手,并探索他们可以做些什么. 是否可以在没有特定赋值的情况下为调用对象分配输出? 这是一个简单的例子来解释: public static string ExtensionTest(this string input){ return input + " Extended!";} 在以下示例中…… var foo
我是Extension Methods的新手,并探索他们可以做些什么.
是否可以在没有特定赋值的情况下为调用对象分配输出? 这是一个简单的例子来解释: 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() 解决方法
不,但不起作用的原因与字符串的不变性有关,而与扩展方法无关.
如果你有一个班级: public class SomeClass { public int Value {get; set;} } 并且扩展方法: public static void DoIt(this SomeClass someClass) { someClass.Value++; } 会产生以下影响: var someClass = new SomeClass{ Value = 1 }; someClass.DoIt(); Console.WriteLine(someClass.Value); //prints "2" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |