动态队列操作

时间:2012-03-11 14:06:09

标签: c#

我遇到了动态归档操作的问题......我有一个方法:

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 个答案:

答案 0 :(得分:2)

问题是你的Watcher类不像你的方法那样public,它将Watcher暴露为它的返回类型和它的一个参数,这是不允许的。< / p>

您可以制作Watcher课程public,也可以GoToEnd提供与Watcher相同的辅助功能。我想您可能打算Watcher public

答案 1 :(得分:1)

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

默认情况下,我认为顶级类是internal,嵌套类是private。不是100%肯定,因为我总是明确说明可访问性,我认为这是一种很好的做法。

原因是,如果Watcher例如internal,那么不同程序集中的代码可以调用GoToEnd方法,但它无法使用一个Watcher对象,因为它无法访问它。