2012-03-11 66 views
0

动态申请opearations我遇到一个问题...我有一个方法:动态队列操作

public Watcher GoToEnd(Watcher begin) 
     { 
      Watcher searcher = begin; 
      while(searcher.Next =! null) 
      { 
       searcher = searcher.Next; 
      } 
      return (searcher); 
     } 

,但我得到一个错误“可访问性不一致:返回类型‘Back_Maker_3.Watcher’被比方法'更容易访问'Back_Maker_3.BMmain.GoToEnd(Back_Maker_3.Watcher)'“

有人可以看到我失踪了吗?我真的不知道有什么问题...

回答

2

问题是您的Watcher类不是public类似于您的方法,它将Watcher作为其返回类型和其参数之一公开,这是不允许的。

您可以使Watcherpublic,或者你可以给GoToEnd相同无障碍的Watcher。不过,我想你可能打算制作Watcherpublic

1

方法GoToEndpublic。由于它返回Watcher,因此Watcher类也必须是public

默认情况下,我认为顶级班级是internal,嵌套班级是private。因为我总是明确说明可访问性,所以我不认为这是很好的做法。

这样做的原因是,如果Watcherinternal例如,然后在不同的汇编代码可以调用GoToEnd的方法,但它不会是能够使用Watcher对象,因为它不能访问它。