我使用3方库,我想调用空构造函数的自定义构造函数扩展。
我使用的是结构图。
有可能吗?
三方图书馆的源代码:
public static T InstantiateType<T>(Type type)
{
if (type == null)
{
throw new ArgumentNullException("type", "Cannot instantiate null");
}
ConstructorInfo ci = type.GetConstructor(Type.EmptyTypes);
if (ci == null)
{
throw new ArgumentException("Cannot instantiate type which has no empty constructor", type.Name);
}
return (T) ci.Invoke(new object[0]);
}
我试过
x.For<IJobFactory>().Use<StructureMapJobFactory>();
x.ForConcreteType<StructureMapJobFactory>().Configure.SelectConstructor(() => new StructureMapJobFactory(container.GetInstance<IContext>()));
答案 0 :(得分:1)
你可以用这个:
public static T InstantiateType<T>() where T : new()
{
return new T();
}