Tag: ambiguous

ICollection / ICollection 歧义问题

只想对语法sygar进行简单的扩展: public static bool IsNotEmpty(this ICollection obj) { return ((obj != null) && (obj.Count > 0)); } public static bool IsNotEmpty(this ICollection obj) { return ((obj != null) && (obj.Count > 0)); } 当我使用一些collections品时,它可以很好地工作,但是当我与其他人合作时,我得到了 以下方法或属性之间的调用不明确:’PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.IList)’和’PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.Generic.ICollection)’ 这个问题有任何规范的解决方案吗? 不,我不想在调用此方法之前执行强制转换;)

当派生类型为1作为参数传递时,双向隐式可转换类型的重载之间的模糊调用

(试图找到一个总结问题的标题可能是一项非常艰巨的任务!) 我有以下类与一些重载方法,产生一个调用歧义编译器错误: public class MyClass { public static void OverloadedMethod(MyClass l) { } public static void OverloadedMethod(MyCastableClass l) { } //Try commenting this out separately from the next implicit operator. //Comment out the resulting offending casts in Test() as well. public static implicit operator MyCastableClass(MyClass l) { return new MyCastableClass(); } //Try commenting this out […]