我正在学习通用语言,并在某个时候感到震惊。这是我的课程
public class MyValidator{
private Class providerClass;
public MyValidator(Container container){
setProviderClass(container.getInstanc(ValidationProvider.class),"my.providerClass");
}
public void setProviderClass(Class<? extends ValidationProvider> providerClass)
{
this.providerClass = providerClass;
}
}
容器的签名是
<T> T getInstance(Class<T> type, String name)
Gets an instance of the given dependency which was declared in ContainerBuilder.
容器是我正在使用的平台的内置DI机制,但是当我从构造函数内部调用setter方法时,我正在跟随Eclipse中的异常
类型为MyValidator的方法setProviderClass(Class)不适用于参数(ValidationProvider)
我知道我没有正确遵守合同,但不确定如何执行此操作。我的意图是在运行时设置类,它应该接受所有隐含的,隐含
ValidationProvider
的接口。 最佳答案
getInstance(Class type,String name)返回T不是Class-> ValidationProvider的实例不是类对象。
这就是异常消息的意思:您需要一个Class对象,但是要传递ValidationProvider对象。