C# 不一致的可访问性:属性类型_u的可访问性不如属性___
我正在创建一个数据库,需要为数据库中与名称匹配的所有条目编制索引 这就是它被使用的地方:C# 不一致的可访问性:属性类型_u的可访问性不如属性___,c#,C#,我正在创建一个数据库,需要为数据库中与名称匹配的所有条目编制索引 这就是它被使用的地方: dDatabase.FindAll(findArea.Match); 这是findArea类: public class FindArea { string m_Name; public FindArea(string name) { m_Name = name; } public Predicate<databaseEntry> Ma
dDatabase.FindAll(findArea.Match);
这是findArea类:
public class FindArea
{
string m_Name;
public FindArea(string name)
{
m_Name = name;
}
public Predicate<databaseEntry> Match
{
get { return NameMatch; }
}
private bool NameMatch(databaseEntry deTemp)
{
if(deTemp.itemName == m_Name)
{
return true;
}
else
{
return false;
}
}
}
我的问题是当我试图编译它时
错误CS0053:不一致的可访问性:属性类型
“System.Predicate”的可访问性不如
属性数据库.FindArea.Match“
在谓词匹配
函数中
更新
所以感谢所有的帮助,我需要将databaseEntry类的访问权限设置为public
i、 e
或者我可以改变一下:
public class FindArea
致:
不要去管数据库条目
这是由于两个类混合了不同的可访问性造成的。您的问题是databaseEntry类不是公共的,因此,要使基于databaseEntry类的谓词成为公共的,您还需要将databaseEntry类公开。有什么不清楚的?您的谓词是
public
,但返回的是内部的databaseEntry
。它抱怨类型参数实际上是databaseEntry
@jeroenvanevel:非嵌套受保护的内部类?问题的可能重复之处在于类databaseEntry
不是公共的,这意味着,如果要公开公共谓词匹配
,则导出需要了解数据库条目
。
public class databaseEntry
public class FindArea
class FindArea