【发布时间】:2016-01-25 00:16:42
【问题描述】:
我可能在这里遇到了麻烦,而且我可能是,但是我的问题有点难以形容,所以我在寻求帮助时遇到了一些问题。
基本上,在 Java 中,您可以执行以下操作:
// create some generic class
public class Test {
public void random() {}
}
// other class
public class Test2 {
public Test2() {
someFunction(new Test() {
public void random() {
System.out.println("howdy");
}
});
}
private someFunction(Test t) {
t.random();
}
}
我希望将这个想法(修改类的内容,同时将其作为变量传递)转换为 C#。我知道它可以用 lambda 表达式 来完成,但是我似乎一辈子都无法弄清楚。任何帮助表示赞赏。
【问题讨论】:
-
你不能在 Java 中做这样的事情:对
someFunction的调用需要在一个方法中。尽管如此,您实际上是在询问哪一点“某事”:Test 类、Test2 类、匿名类、随机方法、someFunction 方法......? -
能够在调用方法时修改random()的内容。
-
哪个是“方法”?以及如何修改这段代码中的“random() 内容”?
-
在Test类中,random函数什么都不做。当我将一个 Test 实例传递给 someFunction() 时,我编辑了 random() 的内容。