gpt4 book ai didi

c# - 嵌套的 C# 类 - 从内部调用外部方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:36:43 24 4
gpt4 key购买 nike

我有一个名为 GamePlay 的 ViewController 类。在 GamePlay 中有一个名为 MyPinAnnotationView 的嵌套类。当调用 MyPinAnnotation 的方法 TouchesBegan() 时,我想从父 GamePlay 调用方法 CheckAnswer()。

我不想创建新的 GamePlay 实例,因为我已经设置了变量和实例。我可以通过某种方式访问​​ parent 吗? (事件监听器除外)

最佳答案

嵌套类只能引用父类中的静态成员。如果要访问实例成员,则需要获取对该实例的引用。最简单的方法是将它作为参数添加到 MyPinAnnotationView 的构造函数中,如下所示:

class MyPinAnnotationView
{
private GamePlay gamePlay;

public MyPinAnnotationView(GamePlay gamePlay)
{
this.gamePlay = gamePlay;
}

public void TouchesBegan()
{
this.gamePlay.CheckAnswer();
}
}

当您从 GamePlay 实例化 MyPinAnnotationView 时,只需执行以下操作:

MyPinAnnotation annotation = new MyPinAnnotation(this);

关于c# - 嵌套的 C# 类 - 从内部调用外部方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1702763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com