如何从vb项目调用通用c #Web服务

时间:2018-01-29 17:32:20

标签: c# vb.net wcf generics

以下是我的情况示例:

C#泛型函数

public string Foo<t>(string test)
{
   return test+test.ToString();
}

VB

webservice.Foo(Of int, "Bar") 

/// ^这会出错 &#34;没有类型参数,因此不能有类型参数&#34;

通常,当我在C#中调用类型推理函数时,我会执行Foo<int>()之类的操作。但是我不确定如何在VB中执行此操作。我的搜索没有成效。如果有人可以带我到哪里寻找解决方案或帮助我,我将非常感激!

---更新----

经过一些研究后,我发现除非它有限,否则你不能作为合同具有通用功能。如果您想了解更多信息,可以点击(here),其中包含以下内容

&#34;您无法定义依赖于泛型类型参数的WCF合同。泛型特定于.NET,使用它们会违反WCF的面向服务的特性。但是,数据协定可以包含一个集合作为数据成员,因为WCF为集合提供了专用的编组规则。&#34;苏莱曼

&安培;

&#34; Sleiman是正确的,但是可以使用this article中描述的Bounded Generics,你可以实现你想要的。这允许您在服务中创建泛型类型并公开它。但是,消费者不会将其视为通用,因为在服务操作中指定了类型。&#34; Idgorman。

2 个答案:

答案 0 :(得分:0)

试试这个:

webservice.Foo(of int)("Bar")

答案 1 :(得分:0)

不可能在WCF服务中使用泛型函数并调用它(排除有界泛型)。我在最新的帖子中详细介绍了它。