我想创建接受定义为Width
我的尝试;
Int32 getWidth(object obj)
{
return obj.Width;
}
这会失败,因为obj
没有定义宽度。
- 更多详情 -
该功能的用法可能是..
//按钮
button1 = System.windows...Button();
//获取按钮的宽度
int width = getWidth(button1);
这里的想法是它的函数getWidth应该适用于具有Width
特性的对象,例如按钮,标签,复选框等....
答案 0 :(得分:2)
当您发现object
- 类没有Width
- 属性时。您正在寻找的是Control
- 类:
int GetWidth(Control control)
{
return control.Width;
}
从Control
派生的每个类现在都可以与该方法一起使用:
int buttonWidth = GetWidth(button1);
int formWidth = GetWidth(form1);
答案 1 :(得分:1)
进一步挖掘,我在Button page on MSDN找到了
Button
(以及许多其他Controls
)使用从Control
继承的Width属性。
您可以简单地使用:
int GetWidth(Control ctrl) {
return ctrl.Width;
}
因为所有Controls
都继承自此类。