我无法弄清楚这里可能是什么静态导致下面的错误:
public bool OptionsMatch(Item item, ItemFavorite itemFavorite)
{
bool isSame = true;
switch (item.DispType)
{
case DispType.Dropdown:
case DispType.Radio:
isSame = String.Contains(item.Value);
break;
case DispType.ImageList:
isSame = ListValuesMatch(item, itemFavorite);
break;
}
return isSame;
}
Run Code Online (Sandbox Code Playgroud)
错误:无法在静态上下文中访问非静态方法'Contains'
DispType是一个枚举.其余的都是非静态的具体类型实例,并且底层类也不是包含此方法的静态类.
string.Contains不是静态的,它是一个实例方法; 即它在字符串的实例上调用,如下所示:
"something".Contains(item.Value);
Run Code Online (Sandbox Code Playgroud)
这是因为Contains需要两个对象 - 引用字符串和要搜索的字符串.你只提供了一个(要搜索的字符串),但没有提供.