例如.:
public static bool IsMixed<T>(this T obj) where T:?{ return obj.IsThis && obj.IsThat;}
我试图将obj声明为动态但不允许.
解决方法 此功能通常称为“鸭子打字”. (因为当你调用foo.Quack()时,你所关心的只是它像鸭子一样嘎嘎作响.)非动态鸭子打字不是C#的一个功能,对不起!如果您确实没有关于参数的类型信息,则可以在C#4中使用dynamic:
public static bool IsAllThat(this object x){ dynamic d = x; return d.IsThis || d.IsThat;}
但是最好提出一些接口或一些在编译时描述类型的东西.
总结以上是内存溢出为你收集整理的c# – 扩展方法仅限于包含特定属性的对象全部内容,希望文章能够帮你解决c# – 扩展方法仅限于包含特定属性的对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)