Passing variables to generic component script

I have multiple scripts with the same variable URL, and I am trying to have one script that changes the scripts URL variable no matter witch script it is. But I am having trouble accessing the variable since a generic component wont have the variable. I’m trying to do something close to this if possible.

public GameObject obj;
public string URL;
public string type;

void start(){
    var script = obj.GetComponent(type);
        script.url = URL;

What you can do is create a class that derives from a monobehaviour with the variable you would want to change, and then base all the classes you want to have that variable derive from that class instead of a monobehaviour


I think that maybe this is what you are going for. Here is the main class:

    string url;

    public string getUrl()
        return url;

    public void setUrl(string newUrl)
        url = newUrl;

Here is a class that references it and changes the original Url which I left Empty:

    // This is the Url that I change the original url to
    public string webUrl = "";
    // The main url class reference
    WebUrl urlSetter;
    void Start()
        // I get the main class that should be attached to the main object
        urlSetter = GetComponent<WebUrl>();

	void Update () {
        Debug.Log("Original Url is Empty: " + urlSetter.getUrl());
        // I set the url here
        Debug.Log("New Url: " + urlSetter.getUrl());

Creating an abstract classed as the base for all my scripts that contain the URL variable worked.
Thank you, @SneakyLeprechaun