调用静态类中的静态字段的可访问性字段类型不一致

时间:2014-02-26 08:06:42

标签: c# static

我无法从另一个类调用静态字段(在静态类中)。 我总是得到一个辅助功能字段错误。

这是我的代码:

namespace Business
{
    public static class ListesXML
    {
        public static List<ActionXML> listActionXML = new List<ActionXML>();
        public static List<VarActionXML> listVarActionXML = new List<VarActionXML>();

        public static void getXMLFile()
        {
            listActionXML.Clear();
            listVarActionXML.Clear();
            .....
        }
    }
 }

我尝试从相同的名称空间公共静态类访问listActionXML,如下所示:

 ListesXML.listActionXML

错误:

Erreur  1   Accessibilité incohérente : le type de champ 'System.Collections.Generic.List<Business.ActionXML>' est moins accessible que le champ 'Business.ListesXML.listActionXML' H:\My Documents\Visual Studio 2012\Projects\AutomateZen\Business\ListesXML.cs   14  39  Business

为什么会显示此错误以及如何解决此问题?

2 个答案:

答案 0 :(得分:1)

您发布的错误消息没有意义:

  • System.Collections.Generic.List不是字段,也不是公开字段

错误消息很可能是指ActionXMLVarActionXML类型,抱怨它们比您尝试创建的公共字段更难访问。

请检查ActionXMLVarActionXML的声明,最有可能是以下之一:

class ActionXML
internal class ActionXML

但应该是:

public class ActionXML
public class VarActionXML

答案 1 :(得分:0)

您正尝试从更高权限的类访问ActionXML类。请将类ActionXML的定义中的访问修饰符定义为public,如下所示:

public class ActionXML
{
    // ...
}