Jac*_*ack 12 .net c# string overloading
寻找一种方法来检查一个字符串是否包含在另一个忽略大写/小写的情况下,我发现它:
工作良好.然后,我尝试将它放到我的StringExtensions命名空间.
namespace StringExtensions
{
public static class StringExtensionsClass
{
//...
public static bool Contains(this string target, string toCheck, StringComparison comp)
{
return target.IndexOf(toCheck, comp) >= 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后:
using StringExtensions;
...
if (".. a".Contains("A", StringComparison.OrdinalIgnoreCase))
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
方法'Contains'没有重载需要'2'参数
我如何解决它?
Lou*_*ann 22
如果要使用扩展,请使用以下语句添加:
using StringExtensions;
Run Code Online (Sandbox Code Playgroud)
由于Extension方法的声明方式,visual studio本身不会找到它们,而常规Contains方法只接受一个参数,因此你的例外.
我发现了我的错误:
对于这种dynamic类型需要使用a cast来工作string..ToString()方法不够.
if (((string)result.body).Contains(foo, StringComparison.OrdinalIgnoreCase))
Run Code Online (Sandbox Code Playgroud)
现在工作正常.再次感谢stackoverflow.:)
| 归档时间: |
|
| 查看次数: |
6611 次 |
| 最近记录: |