我在Java(7)应用程序中有以下设计:
有一种方法可以传递某些类型和对象的集合,我将其称为"谓词",用于过滤给定的集合.
Predicate是一个名为test的方法的接口 - 它接受一个对象并返回一个布尔值.
在这种情况下:
现在我想在C#(4.0)应用程序中有类似的设计.我可以看到两种方式 - 通过模仿Java设计,或通过将Predicate更改为委托:
我可以尝试模仿Java设计,但是:
我可以尝试使用委托来实现类似的设计.我的过滤方法将采用对象和谓词委托的集合.在这种情况下:
我的问题是 - 您认为在Java中实现相同(或尽可能相似)设计的最佳方式是什么,这将被视为正确,干净的C# - 这样做的方法?
我在Java编程方面有几年的经验,但在C#中不到一年的经验,所以我理解我可能看到的一些问题在C#世界中根本不存在或根本不被视为问题.
编辑:这是最简单的(我认为......)我的Java代码如何工作的可能示例:
我的"域名"对象:
public class Person {
private final String firstName;
private final String secondName;
public Person(String firstName, String secondName) {
this.firstName = firstName;
this.secondName = secondName;
}
public String getFirstName() {
return firstName;
}
public String …Run Code Online (Sandbox Code Playgroud) c# ×1