2014-07-18 44 views
-3

我有一个类:为什么我收到错误不一致的可访问性?

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可访问性不一致:参数类型'ScrollLabe lTest.ListsExtractions.NewsLine '比方法更少可访问的 'ScrollLabelTest.ListsExtractions.Compare(ScrollLabelTest.ListsExtractions.NewsLine,ScrollLabelTest.ListsExtractions.NewsLine)'

而且

错误2可访问性不一致:参数类型' ScrollLabelTest。 ListsExtractions.NewsLine”比方法更少可访问的‘ScrollLabelTest.ListsExtractions.Compare(ScrollLabelTest.ListsExtractions.NewsLine,ScrollLabelTest.ListsExtractions.NewsLine)’

+1

这些错误消息如何不尽可能清晰。查看'NewsLine'类的访问修饰符,并将其与'Compare'方法进行比较。 –

回答

0

因为你的Compare方法是公共的和接受的NewsLine其内部参数。因此,将Compare更改为内部公开或使NewsLine公开。

+1

内部不是私人的。编辑:) –

0

这是因为您的Compare方法是公开的,但是您的Newsline类是私人的或内部的;它比Compare()更不易访问。这就是“不一致”的来源。使新闻线公开,这应该工作。

相关问题