c#传递不同Windows.Forms类型的实例

时间:2017-04-26 08:47:49

标签: c#

我有一个函数,它接受来自System.Windows.Forms.Label类型的参数,所以我能够传递一个特定的Label-Instance,到目前为止一直很好。

但我希望尽可能保持此参数的灵活性。因此,例如,我还希望能够将Textbox-Instance作为参数传递给函数或其他任何,它提供.Text属性并且invokeable

所以我有这个:

public void Test(Label targetLabel) { //stuff }

但我想要一些尽可能灵活的东西,比如

public void Test(object target) { //stuff }

- >但是我如何将target转换为正确的

类型

a)Invokeable

b)具有属性.Text

  • 否则抛出异常或什么?

1 个答案:

答案 0 :(得分:5)

接受System.Windows.Forms.Control类型的任何内容。

Control是首先声明.Text属性并且还实现ISynchronizeInvoke接口(使*Invoke方法发挥作用)的类。