diff options
Diffstat (limited to 'mcs/class/System.Web/System.Web.UI/TemplateParser.cs')
-rwxr-xr-x | mcs/class/System.Web/System.Web.UI/TemplateParser.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mcs/class/System.Web/System.Web.UI/TemplateParser.cs b/mcs/class/System.Web/System.Web.UI/TemplateParser.cs index b52d2f46719..7640c668642 100755 --- a/mcs/class/System.Web/System.Web.UI/TemplateParser.cs +++ b/mcs/class/System.Web/System.Web.UI/TemplateParser.cs @@ -13,11 +13,14 @@ using System.Web; namespace System.Web.UI { + internal delegate Type TagMapper (string tag); + public abstract class TemplateParser : BaseParser { string inputFile; string text; Hashtable options; + TagMapper mapper; protected abstract Type CompileIntoType (); @@ -25,6 +28,19 @@ namespace System.Web.UI { } + internal void SetTagMapper (TagMapper mapper) + { + this.mapper = mapper; + } + + internal Type GetTypeFromTag (string tag) + { + if (mapper == null) + throw new HttpException ("No tag mapper set!"); + + return mapper (tag); + } + protected abstract Type DefaultBaseType { get; } protected abstract string DefaultDirectiveName { get; } |