.net - 定义此扩展方法的缺点是什么?

标签 .net vb.net

我有一堆看起来像这样的重复代码:

If mValue is Nothing Return ""
Return mValue.ToUpper

我定义了以下扩展方法来减少重复代码:

<System.Runtime.CompilerServices.Extension()>
Public Function EmptyIfNull(this As String) As String
    If String.IsNullOrEmpty(this) Then Return ""
    Return this
End Function

重复的代码可以重写为:

Return mValue.EmptyIfNull.ToUpper

这有缺点吗?

最佳答案

唯一的缺点是您实际上是在重新创建语言中已有的内容(空合并运算符,或 If function,因为它已在 VB.NET 中实现)

Return If(mValue, "").ToUpper()

应该做你正在寻找的。

至于您的扩展方法,无需调用 String.IsNullOrEmpty , 因为你只需要处理它是 Nothing 的情况.

关于.net - 定义此扩展方法的缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536740/

相关文章:

c# - 带有路径和完整程序集名称的 Assembly.LoadFrom

c# - 使用 .Net 写入 COM 端口

.net - 当端点地址不为空时,找不到 WCF javascript 代理

.net - 我可以使用什么软件或服务以编程方式调用电话?

c# - 整合谷歌日历的问题

c# - 如何根据许多选项确定 VAR?

asp.net - 如何防止用户重新提交表单?

javascript - 在另一个 mailto 的正文中调用 Mailto

html - 如何使用 VB.net 获取 html 页面的源代码?

vb.net - 如果选中复选框,则运行 "something"