1: <#@ template debug="false" hostspecific="true" language="C#" #>
2: <#@ output extension=".cs" encoding="UTF8" #>
3: <#@ assembly name="System.Core" #>
4: <#@ assembly name="System.Xml" #>
5: <#@ assembly name="System.Xml.Linq" #>
6: <#@ import namespace="System.IO" #>
7: <#@ import namespace="System.Text.RegularExpressions" #>
8: <#@ import namespace="System.Linq" #>
9: <#@ import namespace="System.Xml" #>
10: <#@ import namespace="System.Xml.Linq" #>
11: //------------------------------------------------------------------------------
12: // <auto-generated>
13: // This code was generated by a tool.
14: //
15: // Changes to this file may cause incorrect behavior and will be lost if
16: // the code is regenerated.
17: // </auto-generated>
18: //------------------------------------------------------------------------------
19:
20: <#
21: string appName = "ResXProxy Generator Template";
22: string version = "1.0.3977.0";
23: string ns = (string)System.Runtime.Remoting.Messaging.CallContext.LogicalGetData("NamespaceHint");
24: string resxFileName = Path.ChangeExtension(Host.TemplateFile, ".resx");
25: string resxClassName = Path.GetFileNameWithoutExtension(Host.TemplateFile);
26: string proxyClassName = string.Format("{0}ResourceProxy", resxClassName);
27: XDocument document = XDocument.Parse(File.ReadAllText(resxFileName));
28: #>
29: namespace <#=ns#>
30: {
31: using System.Globalization;
32: using System.Windows.Markup;
33:
34: /// <summary>
35: /// Represent a proxy class for "<#= resxClassName #>" resources
36: /// </summary>
37: [System.Diagnostics.DebuggerStepThroughAttribute()]
38: [System.CodeDom.Compiler.GeneratedCode("<#= appName #>", "<#= version #>")]
39: public class <#= proxyClassName #>
40: {
41: /// <summary>
42: /// Initializes the "<#= proxyClassName #>" class
43: /// </summary>
44: public <#= proxyClassName #>()
45: {}
46:
47: /// <summary>
48: /// Gets the current culture
49: /// </summary>
50: [System.CodeDom.Compiler.GeneratedCode("<#= appName #>", "<#= version #>")]
51: public CultureInfo CurrentCulture
52: {
53: get { return CultureInfo.CurrentCulture; }
54: }
55:
56: /// <summary>
57: /// Gets the current UI Culture
58: /// </summary>
59: [System.CodeDom.Compiler.GeneratedCode("<#= appName #>", "<#= version #>")]
60: public CultureInfo CurrentUICulture
61: {
62: get { return CultureInfo.CurrentUICulture; }
63: }
64:
65: /// <summary>
66: /// Gets the current Xml Language property
67: /// </summary>
68: [System.CodeDom.Compiler.GeneratedCode("<#= appName #>", "<#= version #>")]
69: public XmlLanguage Language
70: {
71: get { return XmlLanguage.GetLanguage(CultureInfo.CurrentUICulture.Name); }
72: }
73: <# foreach(var item in document.Element("root").Elements("data"))
74: {
75: string name = EscapeName(item);
76:
77: if (item.Attributes("type").Count() == 0)
78: {
79: #>
80:
81: /// <summary>
82: <# if (item.Elements("comment").Count() == 1) { #>
83: /// <remarks><#= item.Element("comment").Value #></remarks>
84: <# } #>
85: /// Gets the "<#= name #>" Property
86: /// </summary>
87: [System.CodeDom.Compiler.GeneratedCode("<#= appName #>", "<#= version #>")]
88: public string <#= name #>
89: {
90: get { return <#= resxClassName + "." + name #>; }
91: }
92: <#
93: }
94: }
95: #>
96: }
97: }<#+
98: public string EscapeName(XElement item)
99: {
100: string name = item.Attribute("name").Value;
101: return Regex.Replace(name, "[^a-zA-Z0-9_]{1,1}", "_");
102: }
103: #>