ASP.NET C# 中最常用的扩展和辅助函数

Posted

技术标签:

【中文标题】ASP.NET C# 中最常用的扩展和辅助函数【英文标题】:Most Commonly used extensions and helper functions in ASP.NET C# 【发布时间】:2011-01-23 01:40:08 【问题描述】:

我是一名 ASP.NET C# Web 开发人员。 遵循的架构是 3 层 使用的图层是 1. 用户界面 2. BLL(有时与 BLL 通信是使用 WebServices 完成的) 3. 达尔 非常基本的东西。

我真正想要的是 BusinessLogics 中的 BLL.Common 类。 在这里,我想使用一些我们在几乎所有应用程序中使用的有用的扩展和辅助函数。 一个示例将 IsNullOrEmpty 扩展。

开发人员最常用的辅助函数有哪些? 要是能拿个清单就更好了。

问候, 纳文

【问题讨论】:

【参考方案1】:

有太多了。让我们看看(我的一个可重用库中的一些(很少)):

通用实用程序:

public static bool AreEqual(object val1, object val2) public static bool IsNumber(string val, bool integerOnly, bool positiveOnly)

反射实用程序:

公共静态对象激活(字符串类型名称) public static PropertyInfo Property(Type t, string prop) public static void SetValueSafe(string path, object target, object val) // 将类型转换为适当的。非常适合自动生成的 UI 公共静态对象 ConvertType(Type expectedType, object val) public static object GetValue(object target, string fullPath) // 允许点表达式

记录器实用程序:

易于使用的 log4net 包装器很有帮助

File Utils: // 注意所有这些都必须安全地使用流(释放它们)

public static void WriteFileContents(string filename, Stream contentStream) public static byte[] GetStreamContents(Stream 流) 公共静态字符串GetTextFileContents(字符串文件) public static void WriteFileContents(string filename, byte[] contents) public static void AssertDirIsReadWrite(string fileOrDir, bool attemptCreate) 公共静态字符串GetZipFileTextContents(字符串文件) public static void ZipFile(string file, string zipFile) public static void ZipFiles(string directory, string filter, string zipFile) public static string FindFileInDirectory(string file, string baseDirectory) public static void CopyDirectory(DirectoryInfo from, DirectoryInfo target) public static void ClearDirectory(DirectoryInfo dir) 公共静态 IEnumerable GetDirectories(string baseDir) public static IEnumerable GetFiles(string baseDir, string ext) // 递归

收集实用程序:

在非泛型 IEnumerable 中添加对类似于 Linq 的方法的支持 public static void ForEach(IEnumerable e, Action action) // 这个太棒了! 相等 ToString 演员表 IsNullOrEmptySort

【讨论】:

非常感谢朋友。你也可以给出辅助函数的实现吗?顺便说一句,我更喜欢 elmah 而不是 log4net ......哪个更好? 自己实现它们,它们都很简单,它们都会教你一些关于它们的目标(linq、集合、流等)的知识。至于日志,我不认为 Elmah 是日志库,它不是错误报告库吗? 2 不同的事情,如果你有一个好的日志库,那么你可以自己做错误报告。然而,一个日志库与另一个库一样好,所以不要卡在实现上。

以上是关于ASP.NET C# 中最常用的扩展和辅助函数的主要内容,如果未能解决你的问题,请参考以下文章

(转)表单和HTML辅助方法 - ASP.NET MVC 3

Creating Custom Helper Methods 创建自定义辅助器方法----辅助器方法 ------ 精通ASP.NET MVC 5

ASP.NET HTTP运行时组成详解(下)

如何在 ASP.NET MVC 中执行辅助操作(即计算字段)?

使用整体模型模板辅助器 Using Whole-Model Templated Helpers 模板辅助器方法 精通ASP.NET MVC 5

C#一步一步学网络辅助开发--常用抓包工具的使用