我有一个C#类定义如下:
public class GenericItem<T>
{
public List<T> Items { get; set; }
public DateTime TimeStamp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在我的服务器上创建了这个类的实例.然后我尝试通过WCF服务传递它,如下所示:
[OperationContract]
public GenericItem<MyCustomType> GetResult()
{
GenericItem<MyCustomType> result = BuildGenericItem();
return result;
}
Run Code Online (Sandbox Code Playgroud)
在这一点上,一切都很好.当我在Silverlight应用程序中"更新服务引用"重新编译时,我收到编译时错误,类似于以下内容:
MyNamespace.GenericItemOfMyCustomType [extra chars]不包含'GetEnumerator'的公共定义
我不知道为什么:
我究竟做错了什么?
您无法定义依赖于泛型类型参数的WCF合同.泛型特定于.NET,使用它们会违反WCF的面向服务的特性.但是,数据协定可以包含集合作为数据成员,因为WCF为集合提供专用的编组规则.
| 归档时间: |
|
| 查看次数: |
17644 次 |
| 最近记录: |