How to do 1 script for multiple scriptable objects

Basically im trying to make a transportation 2d game where you click on a city it displays information about the city and add routes to other cities.For now i have made a basic code to click on a button (city) and display the information in texts. Im doing this with scriptable objects defining the names average salary population and some other stuff but to do that i have to make a method for every city and i was wondering if its possible to do it faster using something like arrays , lists or something else.

So create a CityHolder script with nothing but a reference to the SO of the city and a method to return the SO assigned to it, so that would be like:

public class CityHolder : MonoBehaviour
{
    [SerializeField] ScriptableCitiesScript _citySO;

    public ScriptableCitiesScript GetCity()
    {
        if (_citySO != null)
            return _citySO;
    }
}

Attach this script to every city object, and if one of them is clicked, get its CityHolder and call GetCity() to get the SO attached to it, something like this:

ScriptableCitiesScript selectedCity = selectedObject.GetComponent<CityHolder>().GetCity();

Then display its info like this:

CityName.text = selectedCity.Name;
CityPopulation.text = "Population : " + selectedCity.population.ToString("N0");
CityAverageIncome.text = "Average income : " + selectedCity.averageIncome.ToString("N0");
// etc...
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class GameManager : MonoBehaviour
{
    [Header("CityButtons")]
    [SerializeField] private Button ThessalonikiButton;
    [SerializeField] private Button AlexandroupolisButton;
    [SerializeField] private Button KozaniButton;
    [SerializeField] private Button LarissaButton;
    [SerializeField] private Button IoanninaButton;
    [SerializeField] private Button CorfuButton;
    [SerializeField] private Button PatraButton;

    [Header("ScriptableObjects")]
    [SerializeField] private ScriptableCitiesScript thessalonikiSO;
    [SerializeField] private ScriptableCitiesScript alexandroupolisSO;
    [SerializeField] private ScriptableCitiesScript kozaniSO;
    [SerializeField] private ScriptableCitiesScript larissaSO;
    [SerializeField] private ScriptableCitiesScript ioanninaSO;
    [SerializeField] private ScriptableCitiesScript corfuSO;
    [SerializeField] private ScriptableCitiesScript patraSO;

    [Header("Texts")]
    //City info Texts
    [SerializeField] private TextMeshProUGUI CityName;
    [SerializeField] private TextMeshProUGUI CityPopulation;
    [SerializeField] private TextMeshProUGUI CityAverageIncome;
    [SerializeField] private TextMeshProUGUI CityTransportationMethods;
    //Texts
    [SerializeField] private TextMeshProUGUI moneyText;
    [SerializeField] private TextMeshProUGUI passengersTransportedText;

    [Header("GameObjects")]
    [SerializeField] private GameObject CityInfo;

    [Header("Floats")]
    [SerializeField] private float Money;
    [SerializeField] private float passengersTransported;

    private void Awake()
    {
        CityInfo.SetActive(false);
    }

    private void Update()
    {
        ChangeMoneyAndTransportedPassengers();
        CloseCityInfo();
        OnClickedButtons();
    }

    private void ChangeMoneyAndTransportedPassengers()
    {
        moneyText.text = "Money : " + Money.ToString("N0");
        passengersTransportedText.text = "Passengers transported : " + passengersTransported.ToString("N0");
    }

    private void CloseCityInfo()
    {
        if (Input.GetMouseButtonDown(1))
        {
            CityInfo.SetActive(false);
        }
    }

    private void OnClickedButtons()
    {
        ThessalonikiButton.onClick.AddListener(ThessalonikiCityInfo);
        AlexandroupolisButton.onClick.AddListener(AlexandroupolisCityInfo);
        LarissaButton.onClick.AddListener(LarissaCityInfo);
        KozaniButton.onClick.AddListener(KozaniCityInfo);
        IoanninaButton.onClick.AddListener(LarissaCityInfo);
        CorfuButton.onClick.AddListener(KozaniCityInfo);
        PatraButton.onClick.AddListener(LarissaCityInfo);

    }

    private void ThessalonikiCityInfo()
    {
        //Set city info tab active
        CityInfo.SetActive(true);

        //Set city's info texts
        CityName.text = thessalonikiSO.Name;
        CityPopulation.text = "Population : " + thessalonikiSO.population.ToString("N0");
        CityAverageIncome.text = "Average income : " + thessalonikiSO.averageIncome.ToString("N0");
    }

    private void AlexandroupolisCityInfo()
    {
        //Set city info tab active
        CityInfo.SetActive(true);

        //Set city's info texts
        CityName.text = alexandroupolisSO.Name;
        CityPopulation.text = "Population : " + alexandroupolisSO.population.ToString("N0");
        CityAverageIncome.text = "Average income : " + alexandroupolisSO.averageIncome.ToString("N0");
    }

    private void LarissaCityInfo()
    {
        //Set city info tab active
        CityInfo.SetActive(true);

        //Set city's info texts
        CityName.text = larissaSO.Name;
        CityPopulation.text = "Population : " + larissaSO.population.ToString("N0");
        CityAverageIncome.text = "Average income : " + larissaSO.averageIncome.ToString("N0");
    }

    private void KozaniCityInfo()
    {
        //Set city info tab active
        CityInfo.SetActive(true);

        //Set city's info texts
        CityName.text = kozaniSO.Name;
        CityPopulation.text = "Population : " + kozaniSO.population.ToString("N0");
        CityAverageIncome.text = "Average income : " + kozaniSO.averageIncome.ToString("N0");
    }
}

It gets me this error


but also i forgot to share scriptable object code `using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu(fileName = “ScriptableCities”, menuName = “ScriptableObjects/ScriptableCities”)]
public class ScriptableCitiesScript : ScriptableObject
{
public string Name;

public float population;
public float averageIncome;

public bool busTransport;
public bool trainTransport;
public bool boatTransport;
public bool planeTransport;

}`