public TRenderer Get <TRenderer>(String name) where TRenderer : class, IRenderer { LayerRendererRegistryKey key = new LayerRendererRegistryKey(null, name); IRenderer renderer; if (!_renderers.TryGetValue(key, out renderer)) { return(null); } return(renderer as TRenderer); }
public TRenderer Get <TRenderer, TLayer>() where TRenderer : class, IRenderer { Type layerType = typeof(TLayer); LayerRendererRegistryKey key = new LayerRendererRegistryKey(layerType, null); IRenderer renderer; if (!_renderers.TryGetValue(key, out renderer)) { return(null); } return(renderer as TRenderer); }
public TRenderer Get <TRenderer>(ILayer layer) where TRenderer : class, IRenderer { if (layer == null) { throw new ArgumentNullException("layer"); } LayerRendererRegistryKey key = new LayerRendererRegistryKey(null, layer.LayerName); IRenderer renderer; if (!_renderers.TryGetValue(key, out renderer)) { key = new LayerRendererRegistryKey(layer.GetType(), null); if (!_renderers.TryGetValue(key, out renderer)) { return(null); } } return(renderer as TRenderer); }
public void Register(Type layerType, IRenderer renderer) { LayerRendererRegistryKey key = new LayerRendererRegistryKey(layerType, null); _renderers[key] = renderer; }
public void Register(String layerName, IRenderer renderer) { LayerRendererRegistryKey key = new LayerRendererRegistryKey(null, layerName); _renderers[key] = renderer; }