接口:
[OperationContract]
[FaultContract(typeof(FaultLoggingErrorHandler))]
T MyService<T> (int importType);执行情况:
public T UploadFile<T> (int importType)
{
return (T)Convert.ChangeType(new object(), typeof(T));
}对于上面的代码,我不会得到任何编译时错误,而是抛出运行时错误。
错误:'System.Runtime.Serialization.InvalidDataContractException‘类型的未处理异常发生在MYServices.exe中 附加信息:类型'T‘不能作为模式类型导出,因为它是一个开放的泛型类型。只有当泛型类型的所有泛型参数类型都是实际类型时,才能导出泛型类型。
编辑:我期望单个服务方法根据需求返回泛型对象。
发布于 2018-04-09 10:27:03
如果您试图为客户端公开通用数据类型,我认为您不可能立即这样做。相反,你可以遵循这个
WCF:序列化和泛化
https://stackoverflow.com/questions/49730237
复制相似问题