好吧,我有一个通用的接口创建实现通用接口的类的实例
public IConfigurationValidator<T>
{
void Validate();
}
一个类实现它:
public class SMTPServerValidator : IConfigurationValidator<string>
{
public void Validate(string value)
{
if (string.IsNullOrEmpty(value))
{
throw new Exception("Value cannot be null or empty");
}
}
}
我现在想用反射创建实例SMTPServerValidator,因为我知道该类型的AssemblyQualifiedName。
我想使用Activator.CreateInstance和铸造的对接口... 这样的:
IConfigurationValidator<T> validator = (IConfigurationValidator<T>)Activator.CreateInstance(typeof(SMTPServerValidator));
我不知道T是什么....我怎么使用反射来创建一个这个类的实例?
有是有,我处理,我离开了另一个类:
public class ConfigurationSetting<T>
{
IConfigurationValidator<T> m_Validator;
public ConfigurationSetting(IConfigurationValidator<T> validator)
{
m_Validator = validator;
}
public void Validate(T value)
{
m_Validator.Validate(value);
}
}
最后,我想创建ConfigurationSettings,需要在基于参数相应的验证通过。
不应该的验证方法IMPL没有参数? – 2009-08-11 21:59:16
我改变了很多东西...我意识到我有其他问题... – CSharpAtl 2009-08-12 03:31:57