我想做的是最容易从代码示例中理解:
class A {
List<B> bs;
void batchFuntion(List<B> selectedBs, MethodOfB){
for (B b in selectedBs) {
b.MethodOfB();
}
}
}
class B {
void foo() {
do something;
}
}
// so to apply any method of B to a selection of B items in A:
a_instance.batchFuntion(selectedBs, foo);
换句话说:我有两个班,A班和B班。A包含B项的列表。我想批量地将B的方法应用于A的给定示例中的选定B项。因为我想为很多不同的方法做这件事,我不想为每个B方法都写一个新的A方法。但是我不知道如何传递一个非静态方法。
1条答案
按热度按时间a11xaf1n1#
不知道为什么这里需要
selectedBs
,因为你在batchFunction
中没有使用这个参数,但是对于MethodOfB
,你可以传递一个函数参数。就像这样: