我正在实现一个接口,以便将自定义业务逻辑注入到使用Microsoft Unity的框架中.我的核心问题是我需要实现的接口定义了以下方法:
T InterfaceMethod<T>();
Run Code Online (Sandbox Code Playgroud)
T
没有约束.在我的代码中,我需要从不同的第三方库调用方法,方法签名为
T AnotherMethod<T>() where T: class;
Run Code Online (Sandbox Code Playgroud)
类型T对逻辑有重要意义AnotherMethod
.有没有办法AnotherMethod<T>()
在我的实现中调用,而不使用反射?如果T
是值类型,我显然需要采取替代操作.有没有办法让autobox解决这个问题?
我认为如果不经过反思,你所寻找的东西是不可能实现的。最好的情况是,您只需调用AnotherMethod<object>()
并投射结果即可。AnotherMethod
但只有当sT
对您的目的不重要时,这才真正有效。
归档时间: |
|
查看次数: |
155 次 |
最近记录: |