虽然工作10多年, 但是真正使用框架的项目很少很少... 所以对接口, 方法等约束毫无经验
今天做了个动态代理dispatchproxy的类, 但是在调用时却一直提示如下错误:
Error CS0310 'T' must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'T' in the generic type or method 'XXX.CreateLogProxy<T>(T)'
最终发现是静态方法CreateLogProxy的where T : new()约束引起的问题.
public static class TransparentProxy
{
public static T CreateLogProxy<T>(T t) //where T : new()
{
dynamic tProxy = DispatchProxy.Create<T, LogProxyHandlerService<T>>();
tProxy._Instance = t;
return tProxy;
}
}