我应该在.NET项目中将各种函数放在哪里?

6 .net c# string text function

在C#中使用文本解析器时,我发现自己不得不经常删除字符串的第一行.我把一个简单的函数放在一起为我做,但是来自PHP背景,我不知道在哪里放它,因为我不能在类外定义一个函数.在.NET中这样做的习惯方式是什么?我是否创建了一个静态类来存储我的函数?

Jus*_*ren 20

我通常制作一个Helper或Utility静态类,然后在其中放置相应的辅助函数.

另外,我尝试将Helper和Utility类逻辑分组 - 将文本解析函数与对象转换函数放在一起是荒谬的.使用TextUtils类和ConversionUtils类清除混淆.

  • 您可能也会从制作此类函数扩展方法中受益. (6认同)

Joe*_*oey 18

是的,静态助手类通常是这样做的方法.

此外,在C#3中,您可以声明如下方法:

public static string RemoveFirstLine(this string s) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

使它成为一种扩展方法.然后你可以在任何字符串上调用它,就像在字符串类型本身上声明了方法一样.


bry*_*ook 6

小心!

  • 交叉切割的通用实用程序函数应该位于更高的实用程序命名空间中.字符串解析,文件操作等

  • 扩展对象应该位于自己的命名空间中.

  • 应用于指定业务对象或方法集的实用程序函数应位于这些对象的命名空间内.通常使用Helper后缀,即BusinessObjectHelper. 命名在这里很重要.您是在为其他方法创建容器,还是将它们组合成专用对象(即解析器)更有意义?