我有一个函数,它接受来自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
答案 0 :(得分:5)
接受System.Windows.Forms.Control
类型的任何内容。
Control是首先声明.Text属性并且还实现ISynchronizeInvoke
接口(使*Invoke
方法发挥作用)的类。