static MidiAccessManager() { Empty = new EmptyMidiAccess(); IEnumerable <Type> types = typeof(MidiAccessManager).GetTypeInfo().Assembly.DefinedTypes.Select(ti => ti.AsType()); types = types.Where(t => t != typeof(EmptyMidiAccess) && t.GetTypeInfo().ImplementedInterfaces.Contains(typeof(IMidiAccess))); foreach (var type in types) { try { Default = (IMidiAccess)Activator.CreateInstance(type); } catch { // ignore, try next } } }
static MidiAccessManager() { Empty = new EmptyMidiAccess (); IEnumerable<Type> types = typeof (MidiAccessManager).GetTypeInfo ().Assembly.DefinedTypes.Select (ti => ti.AsType ()); types = types.Where (t => t != typeof (EmptyMidiAccess) && t.GetTypeInfo ().ImplementedInterfaces.Contains (typeof (IMidiAccess))); foreach (var type in types) { try { Default = (IMidiAccess) Activator.CreateInstance (type); } catch { // ignore, try next } } }
protected MidiAccessManager() { Default = Empty = new EmptyMidiAccess(); }
static MidiAccessManager() { Default = Empty = new EmptyMidiAccess(); new MidiAccessManager().InitializeDefault(); }