klasse mit stringindex fehler



  • Guten Abend,

    ich will ne kleine klasse schreiben mit der man n array mit nem string durchsuchen kann.

    struct CarData
        {
            public int id;
            public string gameName;
        }
    
        public class CarDataList
        {
            CarData[] carData;
    
            public CarDataList(CarData[] cardata)
            {
                carData = cardata;
            }
    
            public CarData this[string gameName]
            {
                get
                {
                    for (int i = 0; i < carData.Length; i++)
                    {
                        if (carData[i].gameName == gameName)
                            return carData[i]; 
                    }
                    return default(CarData);
                }
            }
    
        }
    

    es erscheinen folgende fehler:

    Fehler	1	Inkonsistenter Zugriff: Parametertyp "gta_mods.CarData[]" ist weniger zugreifbar als Methode "gta_mods.CarDataList.CarDataList(gta_mods.CarData[])"	
    
    Inkonsistenter Zugriff: Indexer-Rückgabetyp "gta_mods.CarData" ist weniger zugreifbar als Indexer "gta_mods.CarDataList.this[string]"
    

    hat jemand ne ahnung wiso der fehler kommt?



  • Setzt dein struct CarData public und es sollte funktionieren.



  • k thx es klappt



  • Das geht auch einfacher.

    public struct CarData
    {
        public int Id;
        public string GameName;
    }
    
    public class CarDataList : List<CarData>
    {
        public CarData GetCarByGameName(string gameName)
        {
            return FirstOrDefault(c => c.GameName== name);
        }
    }
    

    Unabhängig davon, hattest du auch verstanden was das Problem war?


Anmelden zum Antworten