private static void InitializeDecoders(ScanState scanState, double version) { decoders.Clear(); var type = typeof(INode); var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetTypes()) .Where(p => p.IsClass && !p.IsAbstract && p.IsSubclassOf(typeof(AbstractNode))); foreach (var t in types) { INode n = (INode)Activator.CreateInstance(t); if (n.JsxbinVersion == ALL_VERSIONS || n.JsxbinVersion == version) { decoders.Add(n.Marker, t); } } if (version == 1.0) { referenceDecoder = new ReferenceDecoderVersion1(); } else { referenceDecoder = new ReferenceDecoderVersion2(); } }
private static void InitializeDecoders(ScanState scanState, double version) { decoders.Clear(); var type = typeof(INode); var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetTypes()) .Where(p => p.IsClass && !p.IsAbstract && p.IsSubclassOf(typeof(AbstractNode))); foreach (var t in types) { INode n = (INode)Activator.CreateInstance(t); if (n.JsxbinVersion == ALL_VERSIONS || n.JsxbinVersion == version) decoders.Add(n.Marker, t); } if (version == 1.0) referenceDecoder = new ReferenceDecoderVersion1(); else referenceDecoder = new ReferenceDecoderVersion2(); }