public T Invoke<T>(String APIName)
{
var t=typeof(T);
IntPtr api = GetProcAddress(hLib, APIName);
var d=Marshal.GetDelegateForFunctionPointer(api, t);
return (T)(Object)d; //这就OK
return (T)d; //这就不行。为啥呢??理论上没有什么区分啊。
}
...全文
1712打赏收藏
泛型类型的转换问题
public T Invoke(String APIName) { var t=typeof(T); IntPtr api = GetProcAddress(hLib, APIName); var d=Marshal.GetDelegateForFunctionPointer(api, t); return (T)(Object)d; //这就OK return (T)d; //这就不行。为啥呢??理论上没有什么区分啊。 }