member names cannot be the same as their enclosing type

it sais that: ¨member names cannot be the same as their enclosing type¨

public class Skill : ModifiedStat {
	private bool _known;

	public void Skill() {
		_known= false;
		ExpToLevel = 25;
	    LevelModifier = 1.1f;
	}

	public bool Known {
		get{ return _known; }
		set{ _known = value; }
	}
}

public enum SkillName {
	Melee_Offence,
	Melee_Defence,
	Ranged_Offence,
	Range_Defence,
	Magic_Offence,
	Magic_Defence,
}

You’re declaring a method instead of a constructor:

public void Skill()

should be

public Skill()

The name of the class “Skill” and the name of the “Skill()” function must not match!