【发布时间】:2013-03-23 00:05:28
【问题描述】:
我最近开始使用 C#,我想找到一个等效的方法。我不知道这叫什么,所以我就简单的通过代码给你看。
使用 Java,我能够创建这样的接口:
public interface Event {
public void execute();
}
并像这样在方法的参数中传递这个接口:
public class TestEvent {
ArrayList<Event> eventList = new ArrayList<Event>();
public void addEvent(Event event){
eventList.add(event);
}
public void simulateEvent(){
addEvent(new Event() {
public void execute(){
//functionality
}
} );
}
public void processEvents(){
for(Event event : eventList)
eventList.execute();
}
}
编辑:我的问题是关于TestEvent 类中的simulatEvent 方法,以及C# 是否可以执行这样的操作。
我想知道是否有办法用 C# 做类似的事情,(在 simulateEvent 方法中实例化接口)以及实际调用的内容。谢谢!
【问题讨论】:
-
如果是用于事件和事件处理,请参阅..Events in C#。整个构造以不同的“C# 方式”完成。您会在阅读中遇到委托(即回调函数)和 MulticastDelegate(即如何绑定多个事件处理程序)。
-
这是一个anonymous class,不,它不适用于 C# 中的接口。
-
您想处理事件还是要求实例化接口的等效项(在您的模拟事件代码中)?
-
顺便说一句:我投票以“不是真正的问题”结束。请说/问你的意思。发布的代码有许多结构,并没有隔离任何特定的问题/问题。
标签: java c# interface anonymous-class