How to make an array inherit from a class?

I have an array in c sharp that I want to inherit from a class in another script. How would I write this? Help

Here’s the array:
using UnityEngine;
using System.Collections;

public class Inventory : MonoBehaviour {

	public int[] weapons = new int[0];

	void OnGUI(){



	}
}

Here’s the array:

sing UnityEngine;
using System.Collections;

public class Weapon : MonoBehaviour {

	public class weapons{
		public string name;
		public string description;
		public float damage;
		public float speed;

		enum Rarity{

			uncommon,
			common,
			rare,
			epic
		}
	}
}

Well Mister NutellaDaddy, do you mean this?

Make sure to have all of this inside of one script

public class Inventory : MonoBehaviour {
 
    public Weapon[] weapons;
 
    void OnGUI(){
 
 
 
    }
}

[System.Serializable]
public class Weapon {
       public string name;
       public string description;
       public float damage;
       public float speed;

       enum Rarity{
 
         uncommon,
         common,
         rare,
         epic
       }
   
}

Here is the Weapon class using the enumeration with a quick use case:

public class Weapon
    {
        public string Name { get; set; }
        public string Description { get; set; }
        public float Damage { get; set; }
        public float Speed { get; set; }
        public Rarity WeaponRarity { get; set; }

    }

    public enum Rarity
    {
        Uncommon,
        Common,
        Rare,
        epic
    };




Weapon[] weapons = {
                                   new Weapon{ Name = "Ak-47", Damage = 10.0f, Description = "Assault Weapon", Speed = 3f, WeaponRarity = Rarity.Common},
                                   new Weapon{ Name = "M4", Damage = 7.5f, Description = "Assault Weapon", Speed = 5f, WeaponRarity = Rarity.Common}
                               };

Hope it helps!