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



这是我的情况的一个例子:

C# 泛型函数

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

.VB

webservice.Foo(Of int, "Bar") 

///^这将错误地说 "没有类型参数,因此不能有类型参数">

通常,当我在 C# 中调用类型推断函数时,我会执行类似Foo<int>()的操作。但是我不确定如何在 VB 中做到这一点。我的搜索没有成果。如果有人能引导我在哪里寻找解决方案或帮助我,我将不胜感激!

---更新----

经过更多的研究,我发现你不能将泛型函数作为合约,除非它是有界的。如果您想了解更多信息,可以单击(此处)其中说以下内容

"不能定义依赖于泛型类型参数的 WCF 协定。泛型特定于 .NET,使用它们将违反 WCF 的面向服务性质。但是,数据协定可以将集合作为数据成员包含在内,因为 WCF 为集合提供了专用的封送处理规则。苏莱曼

&

"Sleiman是正确的,但是可以使用本文中描述的有界泛型,你也许能够实现你想要的。这允许您在服务中创建泛型类型并公开它。但使用者不会将其视为通用类型,因为类型是在服务操作中指定的。伊德戈尔曼。

试试这个:

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

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

最新更新