对第三方的服务引用使用数组而不是通用列表

发布于 2025-01-05 17:08:33 字数 685 浏览 0 评论 0原文

我看到与我的问题相关的类似帖子,但没有找到答案。我有一个简单的类库,其中包含此亚马逊服务的“服务引用”: http:// webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl 在我的 Visual Studio 2010 项目中。该项目正在使用“.Net Framework 4”配置文件。同样,这是“服务参考”而不是老式的“网络参考”。我已经进入高级选项并告诉它使用“System.Collections.Generic.List”作为“集合类型”,但它忽略了这一点并使用数组来处理所有内容。

如何让 Visual Studio 2010 为该特定服务生成代理并使其使用通用列表?是否有命令行会在生成过程中强制执行此操作?

想要的示例:

    private ItemLink[] itemLinksField;

我希望代理生成器生成什么:

    private List<ItemLink> itemLinksField;

I saw similar posts related to my problem but found no answer. I've got a simple class library with a "service reference" to this amazon service: http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl in my visual studio 2010 project. The project is using ".Net Framework 4" profile. Again this is a "service reference" NOT the old school "web reference". I've gone into the advanced options and told it to use "System.Collections.Generic.List" as the "collection type" but it ignores this and uses arrays for everything.

How do I get visual studio 2010 to generate a proxy for this particular service and get it to use generic lists? Are there command lines that will force this during the generation?

Example of what what I do NOT want:

    private ItemLink[] itemLinksField;

What I want the proxy generator to produce:

    private List<ItemLink> itemLinksField;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半葬歌 2025-01-12 17:08:33

您不能这样做,但是有一种简单的方法可以仅用一行代码将对象数组转换为列表。看我的示例代码:

        //init WCF client...
        List<ItemLink> result = null;
        WFOperationsProvider.OperationsClient client = null;
        client = new WFOperationsProvider.OperationsClient();

        //get and convert array result to list...
        result = client.GetMyItems().OfType<ItemLink>().ToList();

        //close WCF client...
        client.Close();

You can't do this, however there is simple way how to convert array of objects to list in just one line of code. See my sample code:

        //init WCF client...
        List<ItemLink> result = null;
        WFOperationsProvider.OperationsClient client = null;
        client = new WFOperationsProvider.OperationsClient();

        //get and convert array result to list...
        result = client.GetMyItems().OfType<ItemLink>().ToList();

        //close WCF client...
        client.Close();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文