不能访问我的扩展方法

本文关键字:方法 扩展 我的 访问 不能 | 更新日期: 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类型,需要使用caststringToString()方法是不够的。

if (((string)result.body).Contains(foo, StringComparison.OrdinalIgnoreCase))

现在工作正常。再次感谢stackoverflow。:)