WCF中的泛型类型 - 运行时错误

时间:2018-04-09 09:58:05

标签: c# wcf

接口:

[OperationContract]
[FaultContract(typeof(FaultLoggingErrorHandler))]
T MyService<T> (int importType);

实现:

public T UploadFile<T> (int importType)
{               
    return (T)Convert.ChangeType(new object(), typeof(T));
}

对于上面的代码,我没有得到任何编译时错误,而是抛出运行时错误。

  

错误:未处理的类型&#39; System.Runtime.Serialization.InvalidDataContractException&#39;发生在MYServices.exe

     

其他信息:键入&#39; T&#39;无法导出为架构类型,因为它是一个开放的泛型类型。如果所有通用参数类型都是实际类型,则只能导出泛型类型。

编辑:我期待单一服务方法根据需求返回通用对象。

1 个答案:

答案 0 :(得分:0)

如果您尝试为客户端公开通用数据类型,我认为您不能像这样立即执行此操作。相反,你可以遵循这个

WCF: Serialization and Generics