使用"宽度"

时间:2016-04-16 12:01:20

标签: c# function

我想创建接受定义为Width

的对象的函数

我的尝试;

Int32 getWidth(object obj)
{
    return obj.Width;
}

这会失败,因为obj没有定义宽度。

- 更多详情 -

该功能的用法可能是..

//按钮
button1 = System.windows...Button();

//获取按钮的宽度 int width = getWidth(button1);

这里的想法是它的函数getWidth应该适用于具有Width特性的对象,例如按钮,标签,复选框等....

2 个答案:

答案 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都继承自此类。