使用方法<type>(参数)</type>的调用方法

时间:2009-10-15 19:44:47

标签: c# reference

鉴于以下示例,有人可以告诉我这是如何调用的吗?

bool WithinDelta<T>(T input1, T input2, T delta)

我尝试了各种方法,例如

bool foo = GenericMath.WithinDelta(1, 50, 75);
bool foo = GenericMath.WithinDelta<int>(1, 50, 75);

但类型<T>让我失望。

对不起基本的问题,但我厌倦了在桌子上敲打这个基本的东西。

3 个答案:

答案 0 :(得分:2)

这两个都应该可以正常工作。出了什么问题?

第一种方法是使用类型推断,根据参数得出最合适的T类型。它只适用于通用方法而不是泛型类型,并且存在各种限制 - 尽管它在C#3中比在C#2中更强大。

答案 1 :(得分:1)

两种方式都是正确的

答案 2 :(得分:1)

正如其他人指出的那样,两种方式都有效,在这种情况下是相同的。

为了给你另一个可能有助于混淆的例子,或者可能使情况变得更糟,你也可以做以下事情

bool foo = GenericMath.WithinDelta<double>(1, 50, 75);

在这种情况下,泛型参数将强制WithinDelta的类型参数为double值。因此编译器将在调用之前完成确保整数文字转换为双精度的过程。

相关问题