C#扩展方法 – 返回调用对象

C#扩展方法 – 返回调用对象,第1张

概述我是Extension Methods的新手,并探索他们可以做些什么. 是否可以在没有特定赋值的情况下为调用对象分配输出? 这是一个简单的例子来解释: public static string ExtensionTest(this string input){ return input + " Extended!";} 在以下示例中…… var foo = "Hello World!" 我是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"
总结

以上是内存溢出为你收集整理的C#扩展方法 – 返回调用对象全部内容,希望文章能够帮你解决C#扩展方法 – 返回调用对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1242748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存