random value assign with the class combination <p>Here is the case I have got a spell class </p> <pre><code> public abstract class Spell { public abstract void Castspell (); } public class Heal:Spell { Dictionary&lt;string, int&gt; heals = new Dictionary&lt;string,int&gt; (); public Heal() { heals.Add ("less heal", 1); heals.Add ("medium heal", 2); heals.Add (" large heal", 3); } public override void Castspell() { } } </code></pre> <p>ignore the Castspell(), and there is another class called student</p> <pre><code> public class student { public enum spells { lessheal, mediumheal, highheal } List&lt;Spell&gt; _skillist = new List&lt;Spell&gt;(); public student() { //... } public void learnskills() { _skillist.Clear (); Spell newspell = new Spell (); _skillist.Add (newspell); } </code></pre> <p>what I am trying to do here is I wanna make learn skill method, each time I Call It will randomly add a heal spell into the _skillist.(it could be less, medium or high). how could I achieve it? please give me some advices about it.thanks</p>