gpt4 book ai didi

c# - 通过 WCF 服务序列化泛型类型

转载 作者:太空狗 更新时间:2023-10-29 18:23:04 26 4
gpt4 key购买 nike

我有一个 C# 类定义如下:

public class GenericItem<T>
{
public List<T> Items { get; set; }

public DateTime TimeStamp { get; set; }
}

我正在我的服务器上创建此类的一个实例。然后,我尝试通过 WCF 服务通过网络传递它,如下所示:

[OperationContract]
public GenericItem<MyCustomType> GetResult()
{
GenericItem<MyCustomType> result = BuildGenericItem();
return result;
}

此时一切都编译得很好。当我在我的 Silverlight 应用程序中“更新服务引用”并重新编译时,我收到一个编译时错误,类似于以下内容:

MyNamespace.GenericItemOfMyCustomType[extra chars] 不包含“GetEnumerator”的公共(public)定义

我不知道为什么:

  1. 出现了额外的字符。每次我更新服务引用时,它们似乎都会发生变化。
  2. 如何真正解决这个问题。

我做错了什么?

最佳答案

Sleiman 是正确的,但可以使用有界泛型,如 this article 中所述,你也许能够实现你想要的。这允许您在服务中创建通用类型并将其公开。但是消费者不会将其视为通用的,因为服务操作中指定了类型。

关于c# - 通过 WCF 服务序列化泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com