【发布时间】:2017-05-10 18:28:21
【问题描述】:
private void function(object sender, EventArgs e)
是否可以在不使用变量的情况下获取名称?
if(sender.getType().Name == "Button") {
Button btn = sender as Button;
ObjName = btn.Name
}
if(sender.getType().Name == "CheckBox") {
CheckBox cbx= sender as CheckBox;
ObjName = cbx.Name
}
我有一个适用于许多不同对象类型的函数,我唯一需要的是名称。
【问题讨论】:
-
我的第一个想法已经显示在答案here中;您要么需要切换所有已知类型,要么转换为
dynamic并希望在运行时不会发生任何问题。 -
如果所有对象都是控件,您可以将
sender转换为Control,因为Name属性在Control类中定义。
标签: c# object button properties