sip*_*wiz 14 c# extension-methods
我不断检查字符串字段以检查它们是否为空或空白.
if(myString == null || myString.Trim().Length == 0)
{
throw new ArgumentException("Blank strings cannot be handled.");
}
Run Code Online (Sandbox Code Playgroud)
为了节省自己的一些输入,可以为String类创建一个具有相同效果的扩展方法吗?我理解如何为类实例添加扩展方法,但是如何向类添加静态扩展方法呢?
if(String.IsNullOrBlank(myString))
{
throw new ArgumentException("Blank strings cannot be handled.");
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*ean 36
你可以这样做:
public static bool IsNullOrBlank(this String text)
{
return text==null || text.Trim().Length==0;
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用它:
if(myString.IsNullOrBlank())
{
throw new ArgumentException("Blank strings cannot be handled.");
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为C#允许您在null实例上调用扩展方法.
您可以安全地在实例上使用扩展方法:
public static class StringExtensions
{
public static bool IsNullOrBlank(this string s)
{
return s == null || s.Trim().Length == 0;
}
}
Run Code Online (Sandbox Code Playgroud)
测试用例:
string s = null;
Assert.IsTrue(s.IsNullOrBlank());
s = " ";
Assert.IsTrue(s.IsNullOrBlank());
Run Code Online (Sandbox Code Playgroud)
虽然它看起来有点奇怪,但我想知道为什么你的字符串需要经常检查这个案例.如果你在源头修复它们,你将不必在以后对它们如此偏执!
| 归档时间: |
|
| 查看次数: |
6342 次 |
| 最近记录: |