問題

如何在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