【发布时间】:2018-01-30 01:58:47
【问题描述】:
这是我的情况的一个例子:
C# 泛型函数
public string Foo<t>(string test)
{
return test+test.ToString();
}
VB
webservice.Foo(Of int, "Bar")
///^这会出错 “没有类型参数,因此不能有类型参数”
通常当我在 C# 中调用类型推断函数时,我会执行 Foo<int>() 之类的操作。但是我不确定如何在VB中做到这一点。我的搜索没有结果。如果有人能引导我去哪里寻找解决方案或帮助我,我将不胜感激!
---更新----
经过更多研究后,我发现除非有界,否则不能将通用函数作为合约。如果你想了解更多可以点击(here)上面写着如下
“您不能定义依赖泛型类型参数的 WCF 协定。泛型是特定于 .NET 的,使用它们会违反 WCF 面向服务的性质。但是,数据协定可以包含一个集合作为数据成员,因为WCF 为集合提供专用的编组规则。”苏莱曼
&
“Sleiman 是正确的,但是可以使用 this article 中描述的有界泛型,并且您可能能够实现您想要的。这允许您在服务中创建一个泛型类型并公开它。但是消费者不会像服务操作中指定的类型那样将其视为通用的。”伊德戈尔曼。
【问题讨论】:
-
<T>根本没有使用... -
在某处创建 Web 服务,然后查看其中一种方法的生成代码...您应该在那里看到答案
-
您的问题与 WCF 无关。您提供的代码毫无意义。您应该修复代码以显示实际的泛型函数(使用类型参数的位置),以便为您的问题提供一些实质内容。