【问题标题】:Inconsistent accessibility field type WinPho8 [duplicate]不一致的可访问性字段类型 WinPho8 [重复]
【发布时间】:2014-07-25 08:09:48
【问题描述】:

我的项目中有这个问题。

我已将一个类声明为单例,以将其用作 xml 解析器。我想返回已解析的 pois 列表,但我无法更改返回类型而不出现错误,因此我尝试声明一个全局变量以从其他类中读取它,但我收到此错误。

namespace XML_Parser
{
    public sealed class XMLParserPOI_Wiki
    {
        private List<POI> places;

        private static readonly XMLParserPOI_Wiki uniqueInstance = new XMLParserPOI_Wiki();

        public List<POI> getPlaces()
        {
            return places;
        }

        //Constructor
        private XMLParserPOI_Wiki(){
            System.Diagnostics.Debug.WriteLine("Constructor singleton created");
        }

        public static XMLParserPOI_Wiki getInstance()
        {
            return uniqueInstance;
        }

        public void parseWikitude(string url)
        {
            places = null;
            WebClient wc = new WebClient();
            wc.DownloadStringCompleted += HttpsCompleted;
            wc.DownloadStringAsync(new Uri(url));


        }

        private void HttpsCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None);
                XNamespace ns = "http://www.opengis.net/kml/2.2";
                XNamespace ns2 = "http://www.openarml.org/wikitude/1.0";
                var placemarkers = xdoc.Root.Descendants(ns + "Placemark");

                places =
                (....).ToList();



            }
        }

    }
}

完全错误是:

Error   1   Inconsistent accessibility: 
field type 'System.Collections.Generic.List<XML_Parser.POI>' is 
less accessible than field 
'XML_Parser.XMLParserPOI_Wiki.places'   
C:\Users\vindi_000\documents\visual studio 2012\Projects\XML_Parser\XML_Parser\XMLParserPOI_Wiki.cs 
13  27  XML_Parser

【问题讨论】:

  • 什么是 POI 类的可访问性?是公开的吗?
  • 请考虑在提问前进行最少的搜索。目前尚不清楚为什么您的错误消息和其他相关问题与 MSDN 文档不同。

标签: c# windows-phone-8 singleton


【解决方案1】:

此错误通常意味着您要在公共成员中公开内部类,这是不可能的。

我猜 XML_Parser.POI 类没有标记为公共?

【讨论】:

  • 标记为公共类POI
  • 我想这就是问题所在。我不得不清理项目,然后它就起作用了。也许我后来将公共添加到 POI 并且我没有清理。谢谢大佬!
  • @Biribu 很高兴我能帮上忙。 :) 顺便说一句,正如另一个已删除的答案中提到的,如果您打算进行大量 C# 编码,我建议您阅读一本书或其他东西,以便您了解可供您使用的功能。例如,在 C# 中,单例模式通常使用属性来实现。
  • 谢谢。我必须。我们仍然没有为 Winpho8 开发,但我正在做一些试验,看看它是如何工作的,以及我是否可以开始包括在我的工作中。我在教程中找到了这个单例。我不知道这是否是最好的。我会检查的。
  • 这个答案与许多相关的(如stackoverflow.com/questions/12990309/…)有何不同/更好?
猜你喜欢
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2021-01-16
  • 2013-07-12
  • 2012-10-11
相关资源
最近更新 更多