【发布时间】:2012-10-18 15:46:51
【问题描述】:
可能重复:
Ambiguous call between two C# extension generic methods one where T:class and other where T:struct
我有这两个功能:
public static Degrees Convert<TInput>(this TInput input)
where TInput : NumericValue, IDegreesBased, new()
{
//Some stuff
}
public static SquarredMeters Convert<TInput>(this TInput input)
where TInput : NumericValue, ISquarredMetersBased, new()
{
// Some stuff
}
当我调用new SquarredKilometers(10).Convert() 时,出现一个错误,说上面两个函数之间的调用不明确。 SquarredKilometers 类实现 ISquarredMetersBased 接口。
EDIT :所以看起来很正常。这个精确问题的任何解决方法? (接口实现)
【问题讨论】:
-
这绝对是重复的,但我可能很难找到它。基本上,您不能因约束而超载。
-
好的。我将编辑我的帖子和问题
标签: c# generics type-inference ambiguous-call