问题

如何在C#.Net中制作原型方法?

在JavaScript中,我可以执行以下操作来为字符串对象创建一个修剪方法:

 String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}
 

如何在C#.Net中执行此操作?

  最佳答案

除了更改该类的源代码之外,不能动态地向.NET中现有的对象或类添加方法。

然而,在 C#3.0 中,您可以使用扩展方法,这些方法看起来像新方法,但是是是编译时间的魔法。

为代码执行此操作:

 public static class StringExtensions
{
    public static String trim(this String s)
    {
        return s.Trim();
    }
}
 

使用它:

 String s = "  Test  ";
s = s.trim();
 

这看起来像一个新方法,但将以与此代码完全相同的方式编译:

 String s = "  Test  ";
s = StringExtensions.trim(s);
 

你到底想要做什么?也许有更好的方法来做你想要的事情?

  相同标签的其他问题

c#.net