【发布时间】:2016-11-02 01:20:30
【问题描述】:
我对编程相当陌生,目前正在尝试学习如何在 C# 中使用委托。我已经阅读了 MSDN 上的 C# delegates 编程指南,并查看了 Stack Overflow 上的一些其他示例。我想我得到了整体概念,但对如何使用已经在类中定义的委托感到困惑。例如,在 Unity AudioClip 类中,有一个名为 PCMReaderCallback 的委托,每次音频剪辑读取信息时都会调用它。它采用的参数只是一个float 值的数组。
public delegate void PCMReaderCallback(float[] data);
我猜这意味着我可以使用这个委托来包装任何使用浮点数组作为参数的方法。在我经历过的教程中,他们解释了如何创建一个委托来包装您在定义委托时选择的方法,这对我没有帮助,因为 PCMReaderCalled back 已经在 AudioClip 类中定义。
我的问题是如何使用已经定义的委托来调用我选择的方法?
也许这是不可能的,或者我首先对代表的目的感到困惑。
【问题讨论】:
-
你能把你的代码代替成吨的句子吗?
-
@LeiYang - 我已经采取了牛角并做了一些重新格式化的问题。我希望看到 OP 在使用回调的相关代码中添加。我尝试阅读文档,我可以看到它在哪里。
-
这里是 Unity 文档页面中
AudioClip.Createmethod overloads 的示例。这是否表明您需要做什么? -
@AlexC 你主要关心什么:C# delegate/event 或 unity3d?
-
我在想象类似的东西。 public void MyMethod(parameter){我想要发生的事情} preExistingDelegate = MyMethod;
标签: c# unity3d delegates audioclip