gpt4 book ai didi

c# - 命令模式 : How to pass parameters to a command?

转载 作者:IT王子 更新时间:2023-10-29 03:46:06 26 4
gpt4 key购买 nike

我的问题与命令模式有关,我们有以下抽象(C# 代码):

public interface ICommand
{
void Execute();
}

让我们来看一个简单的具体命令,旨在从我们的应用程序中删除一个实体。例如,Person 实例。

我将有一个 DeletePersonCommand,它实现了 ICommand。此命令需要将要删除的Person作为参数,以便在调用Execute 方法时将其删除。

管理参数化命令的最佳方式是什么?如何在执行命令之前将参数传递给命令?

最佳答案

您需要通过构造函数或 setter 注入(inject)(或等效方法)将参数与命令对象相关联。也许是这样的:

public class DeletePersonCommand: ICommand
{
private Person personToDelete;
public DeletePersonCommand(Person personToDelete)
{
this.personToDelete = personToDelete;
}

public void Execute()
{
doSomethingWith(personToDelete);
}
}

关于c# - 命令模式 : How to pass parameters to a command?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/104918/

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