gpt4 book ai didi

c# - 如何从此类中的委托(delegate)访问类的实例方法

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

我们有一个 Command 类,它在构造函数中将一个 Action 作为参数,我们需要从该 Action 访问 Command 类的一些方法。有没有办法实现这一目标?

public class Command
{
private readonly Action _action;

public Command(Action action)
{
_action = action;
}

public void Execute()
{
_action();
}

public void AnotherMethod()
{
}
}

static void Main()
{
var command = new Command(() =>
{
// do something

// ?? how to access and call
// command.AnotherMethod(); ??

// do something else
});
....
}

最佳答案

public class Command
{
private readonly Action<Command> _action;

public Command(Action<Command> action)
{
_action = action;
}

public void Execute()
{
_action(this);
}

public void AnotherMethod()
{
}
}

static void Main()
{
var command = new Command(cmd => cmd.AnotherMethod() );
}

关于c# - 如何从此类中的委托(delegate)访问类的实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987844/

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