【发布时间】:2012-04-10 18:24:09
【问题描述】:
我无法弄清楚如何在 C# 中对跨类的委托方法调用进行编程。我来自 Objective-C 的世界,这可能让我感到困惑。在 Objective-C 中,我可以在子类中分配一个委托对象,作为父类(即childViewcontroller.delegate = self;)。然后我可以使用以下方法在委托类中触发一个方法:
if([delegate respondsToSelector:@selector(methodName:)]) {
[delegate methodName:parametersgohere];
}
但是,我不知道如何在 C# 中执行此操作。我已经阅读了一些关于 C# 委托的一般信息(例如,here),但我仍然卡住了。
有没有例子可以解释这一点?
这是我的完整场景: 我有 classA 实例化 classB 的实例。 ClassB 触发一个方法(调用 Web 服务),在响应时,我想触发 classA 中的一个方法。
有任何“Hello World”类型的教程可以解释这方面的基础知识吗?
【问题讨论】:
-
请注意,C#/.NET 委托与 Objective-C/Cocoa 委托完全不同。
-
@BoltClock'saUnicorn:是的,我认为这就是我的错误所在。但我仍然想弄清楚如何复制上述场景。 :-)
-
“代表”一词有很多含义。在 C# 中,它的意思是“表示函数指针的对象”。我不确定这对你意味着什么。
-
当你说“我想触发 classA 中的一个方法”时,你如何期望 classB 知道要调用 classA 中的哪个方法?
-
@Gabe,这就是我想要弄清楚的。我怎么能告诉它用什么方法开火?那我怎么开火呢?
标签: c# objective-c