是否可以在不使用typeof或初始化的情况下将ClassA作为参数传递?
class ClassA {
}
class ClassB {
public void Function([something here] clazz) {
......
}
}
class ClassC {
public void main() {
ClassB asdf = new ClassB();
asdf.Function(ClassA); // pass like that, not typeof() or something else
}
}
答案 0 :(得分:1)
是的,您可以将类型作为通用参数传递。
class ClassA {
}
class ClassB {
public void Function<T>() {
......
}
class ClassC {
public void main() {
ClassB asdf = new ClassB();
asdf.Function<ClassA>(); // magic
}
}
这种情况在IoC容器和自动工具中很常见:
var o = container.Resolve<SomeClassName>();