C#中的自定义字符串助手

时间:2015-04-23 13:13:35

标签: c# asp.net-mvc-3

我创建了一个辅助方法,它接受一个字符串并用HTML换行符替换所有换行符。我目前在辅助类中有方法需要静态调用。

如何简单地将我的帮助方法添加到内置C#字符串类?

所以这就是我希望能够做到的:

m.MailingAddress = m.MailingAddress.ReplaceNewlines("<br />");

这就是我目前正在做的事情:

m.MailingAddress = Utility.ObjectExtensions.ReplaceNewlines(m.MailingAddress,"<br />");

3 个答案:

答案 0 :(得分:5)

使用扩展方法创建一个静态类,如下所示:

public static class StringExtensions
{
    public static string ReplaceNewlines(this string text, string toReplace)
    {
       ...
    }
}

this关键字将方法标识为扩展名,在本例中为字符串类。

答案 1 :(得分:1)

您可以使用扩展方法: 扩展方法应该在静态类中声明。

   public static class Helper
    {
       public static ReplaceNewLines(this string currentStr, string replaceWith)
       {
          return Utility.ObjectExtensions.ReplaceNewlines(currentStr, replaceWith);
       }
    }


点击here了解详情。

答案 2 :(得分:0)

创建这样的扩展方法(为方便起见,将帮助器放到方法体上):

public static class StringHelpers
{
   public static ReplaceNewLinesExt(this string str, string replacement)
   {
      return Utility.ObjectExtensions.ReplaceNewlines(str, replacement);
   }
}

然后在添加助手所在的命名空间后,可以使用类似的扩展方法:

...
var modified = someString.ReplaceNewLinesExt("<br />");
...

您可以在MSDN article

中详细了解扩展方法