[stringtemplate-interest] IAttributeRenderer and Type Inheritancein C#
Sam Harwell
sharwell at pixelminegames.com
Thu Oct 22 09:45:58 PDT 2009
Hi Vincent,
My first thought is this changes an O(1) algorithm that has to run for
every rendered item into an O(n) algorithm. I would have to run this
through the instrumenting profiler to make sure it isn't slowing down
the rendering process before I could include it. There are a few other
ways to approach the problem, but I'm not yet sure which one would work
out best.
Sam
-----Original Message-----
From: stringtemplate-interest-bounces at antlr.org
[mailto:stringtemplate-interest-bounces at antlr.org] On Behalf Of Vincent
DARON
Sent: Thursday, October 22, 2009 10:12 AM
To: stringtemplate-interest at antlr.org
Subject: [stringtemplate-interest] IAttributeRenderer and Type
Inheritancein C#
Hi
I would like to be able to register an IAttributeRenderer for objects
implementing an Interface.
Part of current implementation of GetAttributeRenderer
public virtual IAttributeRenderer GetAttributeRenderer( Type
attributeClassType )
{
IAttributeRenderer renderer = null;
if ( _attributeRenderers != null )
{
if ( !_attributeRenderers.TryGetValue(
attributeClassType, out renderer ) )
renderer = null;
}
// ...snip ... //
}
My proposal (untested, but should be ok)
public virtual IAttributeRenderer GetAttributeRenderer( Type
attributeClassType )
{
IAttributeRenderer renderer = null;
if ( _attributeRenderers != null )
{
foreach(Type key in _attributeRenderers.Keys)
{
if(key.IsAssignableFrom(attributeClassType))
{
renderer = _attributeRenderers[key];
break;
}
}
}
// ...snip ... //
}
It will allow to register Attribute Renderer for objects implementing
interfaces
RegisterAttributeRenderer(typeof(IFormatProvider), ...);
Goot idea ?
Second question, is it possible to have access to source using Source
Control (Subversion, Hg, Git, ...) ? It would be far easier to test and
create patches.
Thanks for answer/comments
Vincent
_______________________________________________
stringtemplate-interest mailing list
stringtemplate-interest at antlr.org
http://www.antlr.org/mailman/listinfo/stringtemplate-interest
More information about the stringtemplate-interest
mailing list