addComponent by object of class

How i can add script to my gameObject, if i have object of this script? I try to use addComponent(“”), but addComponent with String argument has been deprecated.

public abstract class PerkChar : MonoBehaviour {

    public int name;

	void Start () {   	
	}

	void Update () {	
	}
}


public class LongDistanceRunner : PerkChar {

	void Start () {
	}

	void Update () {
	}

    public LongDistanceRunner()
    {
        name = 1;
    }
}

public class PerksContainer : MonoBehaviour {

    private List<PerkChar> _perks = new List<PerkChar>();

	void Start () {
        loadOnContainer();
        gameObject.AddComponent(""); // This i see "addComponent with String argument has been deprecated."
	}
	
	void Update () {
	}

    private void loadOnContainer()
    {
        _perks.Add(new LongDistanceRunner());
    }
}

We use generic types now, so it should look something like:

PerkChar perkChar = gameObject.AddComponent<PerkChar>();

like this you can change the values:

 perkchar.name = 999999999;