C#方法作为参数传递,能够访问接收类的私有成员

时间:2013-10-07 23:56:07

标签: c# delegates

我认为标题有点难以理解。这就是为什么我会试着更清楚地解释一下自己: 我有一个ClickLabel,它应该实现某种方法,可以在构造过程中作为参数传递,或者稍后执行某个操作。 关键是我不会实现的每个ClickLabel应该执行相同的任务。

我现在可能只是太累了我自己解决这个问题,但我想从你那里得到一些专业的答案,我可以尽可能轻松地解决这个问题,因为我知道否则它会永远困扰我。

2 个答案:

答案 0 :(得分:1)

如果我说得对,你应该将委托作为参数传递,然后将其作为事件处理程序分配给ClickLabel

答案 1 :(得分:0)

听起来您需要创建一个IClickLabel接口来定义您要执行的方法,然后您可以定义实现IClickLabel的不同类。构造函数上的参数将是Type IClickLabel,它确保您传入的每个类都具有可用于调用的必需方法 - 并且实现IClackLabel的每个类都可以以不同方式实现方法中的逻辑。