This works just fine:
protected void txtTest_Load(object sender, EventArgs e)
{
if (sender is TextBox) {...}
}
Is ther
If you use inheritance like:
public class BaseClass
{}
public class Foo : BaseClass
{}
public class Bar : BaseClass
{}
... Null resistant
if (obj?.GetType().BaseType != typeof(Bar)) { // ... }
or
if (!(sender is Foo)) { //... }
Couldn't you also do the more verbose "old" way, before the is
keyword:
if (sender.GetType() != typeof(TextBox)) { // ... }
C# 9 allows using the not operator. You can just use
if (sender is not TextBox) {...}
instead of
if (!(sender is TextBox)) {...}
Try this.
var cont= textboxobject as Control;
if(cont.GetType().Name=="TextBox")
{
MessageBox.show("textboxobject is a textbox");
}
Two well-known ways of doing it are :
1) Using IS operator:
if (!(sender is TextBox)) {...}
2) Using AS operator (useful if you also need to work with the textBox instance) :
var textBox = sender as TextBox;
if (sender == null) {...}
This is one way:
if (!(sender is TextBox)) {...}