我想再添加一个函数/属性到这样的文本框的文本属性。
txtControl.Text.IsEmpty();
或txtControl.Text.IsEmpty;
这让我回归bool值。
我不想每次比较空字符串。
即。
if(txtControl.text==string.Empty)
{}
else
{}
我们还可以采取其他方式吗
如果只想这样做的话
if(txtControl.text.isEmpty){}
答案 0 :(得分:7)
在c#3.0中你可以做这样的事情......
namespace ExtensionMethods
{
public static class MyExtensions
{
public static bool IsTextEmpty(this Textbox txtBox)
{
return string.IsNullOrEmpty(txtBox.Text);
}
}
}
然后你可以像这样使用它。
bool isEmpty = yourTxtBox.IsTextEmpty();
这适用于整个应用程序中的所有文本框实例,前提是您已经引用了扩展方法的命名空间。如果您有自定义文本框,则将TextBox类型替换为自定义文本框的类型。如果您有自己的TextBox,它可能看起来像这样。
namespace ExtensionMethods
{
public static class MyExtensions
{
public static bool IsTextEmpty(this MyTextbox txtBox)
{
return string.IsNullOrEmpty(txtBox.Text);
}
}
}
答案 1 :(得分:2)
text属性是一个字符串。字符串类包含静态方法IsNullOrEmpty()
所以你可以使用if (String.IsNullOrEmpty(txtControl.Text)) {} else {}
Option2是在文本框上创建一个额外的属性:
public class MyTextbox : Textbox
{
public bool IsEmpty
{
get
{
return String.IsNullOrEmpty(this.Text);
}
}
}
您可以像这样使用它:if (txtMyTextbox.IsEmpty) {} else {}
答案 2 :(得分:2)
为什么不创建扩展方法:
public static bool HasEmptyText(this TextBox textBox)
{
return string.IsNullOrEmpty(textBox.text);
}
然后你可以使用txtControl.HasEmptyText()
。
答案 3 :(得分:0)
Text
属性是一个字符串,其上已经有IsNullOrEmpty
个函数。
答案 4 :(得分:0)
String.IsNullOrEmpty( textControl.Text )