我有一个班级:
class NewsLine
{
public string text;
public string original_time;
public string link;
}
然后一个方法:
private void AddOnlyNew(List<NewsLine> filtered_lnl)
{
NewsLine lnl = new NewsLine();
for (int x = 0; x < filtered_lnl.Count; x++)
{
if (!AllNews.Contains(filtered_lnl[x]))
{
AllNews.Add(filtered_lnl[x]);
}
for (int y = 0; y < AllNews.Count; y++)
{
Compare(filtered_lnl[x], AllNews[y]);
}
}
}
比较方法:
public static int Compare(NewsLine n1, NewsLine n2)
{
if (n1.text != n2.text)
return string.Compare(n1.text, n2.text);
else if (n1.original_time != n2.original_time)
return string.Compare(n1.original_time, n2.original_time);
else
return string.Compare(n1.link, n2.link);
}
我比较Cpmare方法我遇到两个错误:
错误1可访问性不一致:参数类型'ScrollLabelTest.ListsExtractions.NewsLine'的方法不如方法'ScrollLabelTest.ListsExtractions.Compare(ScrollLabelTest.ListsExtractions.NewsLine,ScrollLabelTest.ListsExtractions.NewsLine)'
和
错误2可访问性不一致:参数类型'ScrollLabelTest.ListsExtractions.NewsLine'的方法不如方法'ScrollLabelTest.ListsExtractions.Compare(ScrollLabelTest.ListsExtractions.NewsLine,ScrollLabelTest.ListsExtractions.NewsLine)'
答案 0 :(得分:0)
因为您的Compare
方法是公开的,并接受内部NewsLine
的参数。因此,要么将Compare
更改为内部,要么将NewsLine
公开。
答案 1 :(得分:0)
这是因为您的比较方法是公开的,但您的类新闻线是私有或内部的;它比Compare()更难访问。这就是“不一致”的来源。让Newsline公开,这应该有用。