如何在textbox类的text属性上添加新的Function或Property

Sha*_*pta 1 .net c#

我想再添加一个函数/属性到这样的文本框的文本属性. txtControl.Text.IsEmpty();或者txtControl.Text.IsEmpty; 返回我的bool值.

我不想每次比较空字符串.

if(txtControl.text==string.Empty) {} else {}

我们还可以采取其他方式吗?

如果只是想这样做 if(txtControl.text.isEmpty){}

thi*_*eek 7

在c#3.0中你可以做这样的事情..

namespace ExtensionMethods
{
    public static class MyExtensions
    {
        public static bool IsTextEmpty(this Textbox txtBox)
        {
            return string.IsNullOrEmpty(txtBox.Text);
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样使用它.

bool isEmpty = yourTxtBox.IsTextEmpty();
Run Code Online (Sandbox Code Playgroud)

这适用于整个应用程序中的所有文本框实例,前提是您已经引用了扩展方法的命名空间.如果您有自定义文本框,则将TextBox类型替换为自定义文本框的类型.如果您有自己的TextBox,它可能看起来像这样.

namespace ExtensionMethods
{
    public static class MyExtensions
    {
        public static bool IsTextEmpty(this MyTextbox txtBox)
        {
            return string.IsNullOrEmpty(txtBox.Text);
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)