来自另一个C#的Acces列表

时间:2016-02-17 17:07:15

标签: c# list class reference

我正试图从另一个类中访问一个列表“newklädDataList”,方法是将一个对象从类中取出并访问一个公共方法,我已经实现了返回列表“newklädDataList”,但它不起作用;这有什么不对?

这是我的列表所在的类:

public class klädDATALIST //Kläddata sparas här
{

    private static List<klädDATALIST> newklädDataList = new List<klädDATALIST>(); // Lista med klädegenskaper

    public List<klädDATALIST> GetList() // Metod för att hämta lista
    {
        return newklädDataList;
    }

    public string märke;
    public string typ;
    public string färg; 
    public string storlek;        

    public klädDATALIST(string _märke, string _typ, string _färg, string _storlek) //Överlagrad konstruktor
    {
        this.märke = _märke;
        this.typ = _typ;
        this.färg = _färg;
        this.storlek = _storlek;            
    }
}

这是我尝试访问它的类和方法:

 public class menuVAL //Val av menu sker inom denna klass
{
    //public static List<klädDATALIST> newklädDataList = new List<klädDATALIST>();

    klädDATALIST h = new klädDATALIST();

    public void GetList()   
    {
        List<klädDATALIST> newklädDataList = h.GetList();

    }

    public static void laddaBASgarderob()
    {

        StreamReader infil = new StreamReader("BasGarderob.txt");
        string line;
        while ((line = infil.ReadLine()) != null)
        {
            string[] plagg = line.Split('\t');
            newklädDataList.Add(new klädDATALIST(plagg[0], plagg[1], plagg[2], plagg[3]));
        }

        infil.Close();


    }

}

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

你的班级设计是“有趣的”,但无论如何,你可能做错了就是这样称呼:

klädDATALIST h = new klädDATALIST();

当你在klädDATALISTclass上没有无参数构造函数时。

因此要么实现无参数构造函数:

public klädDATALIST() {}

或使GetList静态:

public static List<klädDATALIST> GetList() // Metod för att hämta lista

并在menuVAL.GetList中调用它:

List<klädDATALIST> newklädDataList = klädDATALIST.GetList();