command编程代码怎么设置

时间:2025-02-27 23:23:22 明星趣事

要设置命令编程代码,首先需要定义一个命令接口,然后创建一个接收器类来执行命令。接下来,定义具体命令类,这些类将实现命令接口并提供执行和撤销操作的方法。以下是一个简单的示例,展示了如何实现这些步骤:

定义命令接口

```csharp

public interface Command {

void Execute();

void Undo();

}

```

定义接收器类

```csharp

public class Receiver {

public void Inspect() {

Console.WriteLine("Receiver is being inspected.");

}

}

```

定义具体命令类

```csharp

public class ChangeNameCommand : Command {

private Receiver _receiver;

private string _oldName;

private string _newName;

public ChangeNameCommand(Receiver receiver, string oldName, string newName) {

_receiver = receiver;

_oldName = oldName;

_newName = newName;

}

public void Execute() {

_receiver.Inspect();

Console.WriteLine($"Name changed from {_oldName} to {_newName}.");

}

public void Undo() {

Console.WriteLine($"Name changed back from {_newName} to {_oldName}.");

}

}

```

使用命令模式

```csharp

public class CommandPatternDemo {

public static void Main() {

Receiver receiver = new Receiver();

Command changeNameCommand = new ChangeNameCommand(receiver, "Old Name", "New Name");

changeNameCommand.Execute();

changeNameCommand.Undo();

}

}

```

在这个示例中,我们定义了一个`Command`接口,它有两个方法:`Execute`和`Undo`。`Receiver`类是我们的接收器,它有一个`Inspect`方法。`ChangeNameCommand`类是一个具体命令,它实现了`Command`接口,并在`Execute`方法中调用接收器的`Inspect`方法,同时更改名称。`Undo`方法则将名称更改回原来的值。

通过这种方式,我们可以将命令的调用封装在对象中,从而使得代码更加模块化和易于维护。