[英]How can i add a new Function or Property on textbox class's text property
我想向这样的文本框的文本属性添加一个功能/属性。 txtControl.Text.IsEmpty();
或txtControl.Text.IsEmpty;
这给我带来了布尔值。
我不想每次都比较空字符串。
即if(txtControl.text==string.Empty) {} else {}
我们还能做点其他的事情吗
如果只是想像if(txtControl.text.isEmpty){}
在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,它可能看起来像这样。
namespace ExtensionMethods
{
public static class MyExtensions
{
public static bool IsTextEmpty(this MyTextbox txtBox)
{
return string.IsNullOrEmpty(txtBox.Text);
}
}
}
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 {}
为什么不创建扩展方法:
public static bool HasEmptyText(this TextBox textBox)
{
return string.IsNullOrEmpty(textBox.text);
}
然后,您可以只使用txtControl.HasEmptyText()
。
Text
属性是一个字符串,上面已经具有IsNullOrEmpty
函数。
String.IsNullOrEmpty( textControl.Text )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.