不能访问我的扩展方法
本文关键字:方法 扩展 我的 访问 不能 | 更新日期: 2023-09-27 18:16:39
寻找一种方法来检查字符串是否包含另一个忽略的大写/小写,我找到了它:
工作好。然后,我试着把它放到我的StringExtensions
命名空间。
namespace StringExtensions
{
public static class StringExtensionsClass
{
//...
public static bool Contains(this string target, string toCheck, StringComparison comp)
{
return target.IndexOf(toCheck, comp) >= 0;
}
}
}
然后:
using StringExtensions;
…
if (".. a".Contains("A", StringComparison.OrdinalIgnoreCase))
,但我得到以下错误:
不能重载方法'Contains'接受'2'个参数
我该如何修复它?
当你想使用你的扩展,添加这个using语句:
using StringExtensions;
由于扩展方法的声明方式,visual studio不会自己找到它们,并且常规的Contains
方法接受一个参数,因此您的例外
我发现我的错误了:
适用于dynamic
类型,需要使用cast
到string
。ToString()
方法是不够的。
if (((string)result.body).Contains(foo, StringComparison.OrdinalIgnoreCase))
现在工作正常。再次感谢stackoverflow。:)