public static Mp3PlayerManager Create(Cassette cassette) { var concretType = typeof(Mp3PlayerManager).Assembly.GetTypes() .Single( type => typeof(Mp3PlayerManager).IsAssignableFrom(type) && type.GetCustomAttribute(typeof(CassetteStateAttribute)) != null && ((CassetteStateAttribute)type.GetCustomAttribute(typeof(CassetteStateAttribute))).State == cassette.State); var result = (Mp3PlayerManager)Activator.CreateInstance(concretType, cassette); return(result); }
public Play(Cassette caset) : base(caset) { }
public Pause(Cassette caset) : base(caset) { }
protected Mp3PlayerManager(Cassette caset) { this.Cassette = caset; }