Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
DataConverterGenerator.cs
Go to the documentation of this file.
1 // ------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version: 11.0.0.0
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 // ------------------------------------------------------------------------------
10 namespace SiliconStudio.Paradox.VisualStudio.Commands.DataGenerator
11 {
12  using System.Linq;
13  using System.Text;
14  using System.Collections.Generic;
15  using SiliconStudio.AssemblyProcessor;
16  using System;
17 
18  /// <summary>
19  /// Class to produce the template output
20  /// </summary>
21 
22  #line 1 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
23  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "11.0.0.0")]
25  {
26 #line hidden
27  /// <summary>
28  /// Create the template output
29  /// </summary>
30  public virtual string TransformText()
31  {
32  this.Write(@"// <auto-generated>
33 // Do not edit this file yourself!
34 //
35 // This code was generated by Paradox Data Code Generator.
36 // To generate it yourself, please install SiliconStudio.Paradox.VisualStudio.Package .vsix
37 // and re-save the associated .pdxdata.
38 // </auto-generated>
39 
40 namespace ");
41 
42  #line 15 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
43  this.Write(this.ToStringHelper.ToStringWithCulture(assembly.Name.Name));
44 
45  #line default
46  #line hidden
47  this.Write(".Data\r\n{\r\n /// <summary>\r\n /// Module initializer for data types of assembl" +
48  "y ");
49 
50  #line 18 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
51  this.Write(this.ToStringHelper.ToStringWithCulture(assembly.Name.Name));
52 
53  #line default
54  #line hidden
55  this.Write(".\r\n /// </summary>\r\n class DataInitializer\r\n {\r\n [SiliconStudio.C" +
56  "ore.ModuleInitializer]\r\n internal static void Initialize()\r\n {\r\n");
57 
58  #line 25 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
59 foreach (var type in processedConverterTypes)
60 {
61  var dataConverterInfo = type.Value;
62 
63 
64  #line default
65  #line hidden
66  this.Write(" // Register type ");
67 
68  #line 29 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
69  this.Write(this.ToStringHelper.ToStringWithCulture(dataConverterInfo.DataInfo.Type.Name));
70 
71  #line default
72  #line hidden
73  this.Write("\r\n SiliconStudio.Core.Serialization.Converters.ConverterContext.Regist" +
74  "erConverter(new ");
75 
76  #line 30 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
77  this.Write(this.ToStringHelper.ToStringWithCulture(dataConverterInfo.Type.ConvertCSharp()));
78 
79  #line default
80  #line hidden
81  this.Write("());\r\n");
82 
83  #line 31 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
84  if ((dataConverterInfo.DataInfo.Flags & DataTypeFlags.EntityComponent) != 0) {
85 
86  #line default
87  #line hidden
88  this.Write(" // Register entity component reference for type ");
89 
90  #line 32 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
91  this.Write(this.ToStringHelper.ToStringWithCulture(dataConverterInfo.DataInfo.Type.Name));
92 
93  #line default
94  #line hidden
95  this.Write("\r\n SiliconStudio.Core.Serialization.Converters.ConverterContext.Regist" +
96  "erConverter(new SiliconStudio.Paradox.Data.EntityComponentReferenceDataConverter" +
97  "<");
98 
99  #line 33 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
100  this.Write(this.ToStringHelper.ToStringWithCulture(type.Key.ConvertCSharp()));
101 
102  #line default
103  #line hidden
104  this.Write(">());\r\n");
105 
106  #line 34 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
107  } } // foreach (var type in processedConverterTypes)
108 
109  #line default
110  #line hidden
111  this.Write(" }\r\n }\r\n}\r\n\r\n");
112 
113  #line 39 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
114 foreach (var type in processedTypes)
115 {
116  var dataTypeInfo = type.Value;
117  var isAutoGenerated = (type.Value.Flags & DataTypeFlags.Generated) != 0;
118  ChangeNamespace(dataTypeInfo.Type.Namespace);
119 
120 
121  #line default
122  #line hidden
123  this.Write(" /// <summary>\r\n /// Data type for <see cref=\"");
124 
125  #line 46 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
126  this.Write(this.ToStringHelper.ToStringWithCulture(type.Key.ConvertCSharp()));
127 
128  #line default
129  #line hidden
130  this.Write("\"/>.\r\n /// </summary>\r\n [SiliconStudio.Core.DataContract(\"");
131 
132  #line 48 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
133  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeInfo.Type.Name + dataTypeInfo.Type.GenerateGenerics()));
134 
135  #line default
136  #line hidden
137  this.Write("\")]\r\n");
138 
139  #line 49 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
140 if ((type.Value.Flags & DataTypeFlags.ContentReference) != 0) {
141 
142  #line default
143  #line hidden
144  this.Write(" [SiliconStudio.Core.Serialization.Contents.ContentSerializer(typeof(SiliconSt" +
145  "udio.Core.Serialization.Contents.DataContentSerializer<");
146 
147  #line 50 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
148  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeInfo.Type.Name + dataTypeInfo.Type.GenerateGenerics()));
149 
150  #line default
151  #line hidden
152  this.Write(">))]\r\n [SiliconStudio.Core.Serialization.Contents.ContentSerializer(typeof(Sil" +
153  "iconStudio.Core.Serialization.Converters.DataContentConverterSerializer<");
154 
155  #line 51 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
156  this.Write(this.ToStringHelper.ToStringWithCulture(type.Key.ConvertCSharp()));
157 
158  #line default
159  #line hidden
160  this.Write(">))]\r\n");
161 
162  #line 52 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
163 }
164 
165  #line default
166  #line hidden
167  this.Write(" public partial class ");
168 
169  #line 53 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
170  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeInfo.Type.Name + dataTypeInfo.Type.GenerateGenerics()));
171 
172  #line default
173  #line hidden
174 
175  #line 53 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
176  if (type.Value.BaseType != null) {
177 
178  #line default
179  #line hidden
180  this.Write(" : ");
181 
182  #line 53 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
183  this.Write(this.ToStringHelper.ToStringWithCulture(type.Value.BaseType.ConvertCSharp()));
184 
185  #line default
186  #line hidden
187 
188  #line 53 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
189 }
190 
191  #line default
192  #line hidden
193  this.Write("\r\n {\r\n");
194 
195  #line 56 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
196 if (isAutoGenerated) {
197  bool firstLine = true;
198  foreach (var property in type.Value.Properties) {
199  if (!firstLine) { this.Write("\r\n"); }
200  firstLine = false;
201 
202  #line default
203  #line hidden
204  this.Write(" /// <summary>\r\n /// Data field for <see cref=\"");
205 
206  #line 62 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
207  this.Write(this.ToStringHelper.ToStringWithCulture(type.Key.ConvertCSharp()));
208 
209  #line default
210  #line hidden
211  this.Write(".");
212 
213  #line 62 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
214  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
215 
216  #line default
217  #line hidden
218  this.Write("\"/>.\r\n /// </summary>\r\n public ");
219 
220  #line 64 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
221  this.Write(this.ToStringHelper.ToStringWithCulture(property.DataType.ConvertCSharp()));
222 
223  #line default
224  #line hidden
225  this.Write(" ");
226 
227  #line 64 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
228  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
229 
230  #line default
231  #line hidden
232 
233  #line 64 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
234 
235 // Add object initialization code (usually for List/Dictionary)
236 if (property.InitializerType != null) {
237 
238  #line default
239  #line hidden
240  this.Write(" = new ");
241 
242  #line 66 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
243  this.Write(this.ToStringHelper.ToStringWithCulture(property.InitializerType.ConvertCSharp()));
244 
245  #line default
246  #line hidden
247  this.Write("()");
248 
249  #line 66 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
250 }
251 
252  #line default
253  #line hidden
254  this.Write(";\r\n");
255 
256  #line 67 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
257 } // end foreach
258 } // end if
259 
260  #line default
261  #line hidden
262  this.Write(" }\r\n\r\n");
263 
264  #line 71 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
265 } // end while
266 
267  #line default
268  #line hidden
269  this.Write("\r\n\r\n");
270 
271  #line 74 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
272 foreach (var type in processedConverterTypes)
273 {
274  var dataConverterInfo = type.Value;
275  var dataTypeInfo = dataConverterInfo.DataInfo;
276  var isAutoGenerated = dataConverterInfo.Generate;
277 
278  var objectTypeCSharp = type.Key.ConvertCSharp();
279  var dataTypeCSharp = dataTypeInfo.Type.ConvertCSharp();
280 
281  var baseType = type.Key.BaseType != null? type.Key.BaseType.Resolve(): null;
282  var baseTypeFlags = baseType != null? GetDataTypeFlags(baseType): null;
283  var isInherited = baseTypeFlags != null && (baseTypeFlags.Value & DataTypeFlags.NoDataType) == 0;
284  var baseDataType = isInherited? GetDataType(baseType): null;
285  var baseConverterType = isInherited? GetDataConverterType(baseType): null;
286 
287  if (isAutoGenerated)
288  {
289  ChangeNamespace(dataConverterInfo.Type.Namespace);
290 
291 
292  #line default
293  #line hidden
294  this.Write(" /// <summary>\r\n /// Converter type for <see cref=\"");
295 
296  #line 94 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
297  this.Write(this.ToStringHelper.ToStringWithCulture(type.Key.ConvertCSharp()));
298 
299  #line default
300  #line hidden
301  this.Write("\"/>.\r\n /// </summary>\r\n public partial class ");
302 
303  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
304  this.Write(this.ToStringHelper.ToStringWithCulture(dataConverterInfo.Type.Name));
305 
306  #line default
307  #line hidden
308 
309  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
310  this.Write(this.ToStringHelper.ToStringWithCulture(dataConverterInfo.Type.GenerateGenerics()));
311 
312  #line default
313  #line hidden
314  this.Write(" : ");
315 
316  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
317 if(isInherited){
318 
319  #line default
320  #line hidden
321 
322  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
323  this.Write(this.ToStringHelper.ToStringWithCulture(baseConverterType.ConvertCSharp()));
324 
325  #line default
326  #line hidden
327 
328  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
329 }else{
330 
331  #line default
332  #line hidden
333  this.Write("SiliconStudio.Core.Serialization.Converters.DataConverter<");
334 
335  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
336  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
337 
338  #line default
339  #line hidden
340  this.Write(", ");
341 
342  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
343  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
344 
345  #line default
346  #line hidden
347  this.Write(">");
348 
349  #line 96 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
350 }
351 
352  #line default
353  #line hidden
354  this.Write("\t\r\n\t{\r\n");
355 
356  #line 99 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
357 if(isInherited){
358 
359  #line default
360  #line hidden
361  this.Write("\t\t/// <inheritdoc/>\r\n\t\tpublic override System.Type DataType\r\n\t\t{\r\n\t\t\tget { return" +
362  " typeof(");
363 
364  #line 103 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
365  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
366 
367  #line default
368  #line hidden
369  this.Write("); }\r\n\t\t}\r\n\r\n\t\t/// <inheritdoc/>\r\n\t\tpublic override System.Type ObjectType\r\n\t\t{\r\n" +
370  "\t\t\tget { return typeof(");
371 
372  #line 109 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
373  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
374 
375  #line default
376  #line hidden
377  this.Write("); }\r\n\t\t}\r\n\t\t\t\t\r\n /// <inheritdoc/>\r\n public override void ConvertF" +
378  "romData(SiliconStudio.Core.Serialization.Converters.ConverterContext converterCo" +
379  "ntext, object data, ref object obj)\r\n {\r\n var dataT = (");
380 
381  #line 115 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
382  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
383 
384  #line default
385  #line hidden
386  this.Write(")data;\r\n var objT = (");
387 
388  #line 116 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
389  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
390 
391  #line default
392  #line hidden
393  this.Write(@")obj;
394  ConvertFromData(converterContext, dataT, ref objT);
395  obj = objT;
396  }
397 
398  /// <inheritdoc/>
399  public override void ConvertToData(SiliconStudio.Core.Serialization.Converters.ConverterContext converterContext, ref object data, object obj)
400  {
401  var dataT = (");
402 
403  #line 124 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
404  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
405 
406  #line default
407  #line hidden
408  this.Write(")data;\r\n var objT = (");
409 
410  #line 125 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
411  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
412 
413  #line default
414  #line hidden
415  this.Write(")obj;\r\n ConvertToData(converterContext, ref dataT, objT);\r\n " +
416  " data = dataT;\r\n }\r\n\r\n\t\t");
417 
418  #line 130 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
419  }
420 
421  #line default
422  #line hidden
423 
424  #line 131 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
425 if ((dataTypeInfo.Flags & DataTypeFlags.CustomConvertToData) == 0) {
426 
427  #line default
428  #line hidden
429  this.Write(" /// <inheritdoc/>\r\n public ");
430 
431  #line 133 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
432 if(!isInherited){
433 
434  #line default
435  #line hidden
436  this.Write("override ");
437 
438  #line 133 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
439 }
440 
441  #line default
442  #line hidden
443  this.Write("void ConvertToData(SiliconStudio.Core.Serialization.Converters.ConverterContext c" +
444  "ontext, ref ");
445 
446  #line 133 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
447  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
448 
449  #line default
450  #line hidden
451  this.Write(" target, ");
452 
453  #line 133 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
454  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
455 
456  #line default
457  #line hidden
458  this.Write(" source)\r\n {\r\n");
459 
460  #line 135 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
461 if(!dataTypeInfo.Type.IsValueType){
462 
463  #line default
464  #line hidden
465  this.Write("\t\t\tif(target == null)\r\n target = new ");
466 
467  #line 137 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
468  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
469 
470  #line default
471  #line hidden
472  this.Write("();\r\n\t\t\t\t\r\n");
473 
474  #line 139 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
475 }
476 
477  #line default
478  #line hidden
479 
480  #line 140 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
481 if(isInherited){
482 
483  #line default
484  #line hidden
485  this.Write("\t\t\t{\r\n\t\t\t\tvar targetBase = (");
486 
487  #line 142 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
488  this.Write(this.ToStringHelper.ToStringWithCulture(baseDataType.ConvertCSharp()));
489 
490  #line default
491  #line hidden
492  this.Write(")target;\r\n\t\t\t\tvar sourceBase = (");
493 
494  #line 143 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
495  this.Write(this.ToStringHelper.ToStringWithCulture(baseType.ConvertCSharp()));
496 
497  #line default
498  #line hidden
499  this.Write(")source;\r\n\t\t\t\tConvertToData(context, ref targetBase, sourceBase);\r\n\t\t\t}\r\n\r\n");
500 
501  #line 147 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
502  }
503 
504  #line default
505  #line hidden
506 
507  #line 148 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
508 foreach (var property in dataTypeInfo.Properties) {
509 if (property.DataType == property.OriginalType) {
510 
511  #line default
512  #line hidden
513  this.Write(" target.");
514 
515  #line 150 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
516  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
517 
518  #line default
519  #line hidden
520  this.Write(" = source.");
521 
522  #line 150 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
523  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
524 
525  #line default
526  #line hidden
527  this.Write(";\r\n");
528 
529  #line 151 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
530 } else {
531 
532  #line default
533  #line hidden
534  this.Write(" context.ConvertToData(ref target.");
535 
536  #line 152 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
537  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
538 
539  #line default
540  #line hidden
541  this.Write(", source.");
542 
543  #line 152 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
544  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
545 
546  #line default
547  #line hidden
548  this.Write(");\r\n");
549 
550  #line 153 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
551 }} // end foreach
552 
553  #line default
554  #line hidden
555  this.Write(" }\r\n");
556 
557  #line 155 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
558 } // if DataTypeFlags.CustomConvertToData
559 
560  #line default
561  #line hidden
562  this.Write("\r\n");
563 
564  #line 157 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
565 if ((dataTypeInfo.Flags & DataTypeFlags.CustomConvertFromData) == 0) {
566 
567  #line default
568  #line hidden
569 
570  #line 158 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
571  if ((dataConverterInfo.DataInfo.Flags & DataTypeFlags.EntityComponent) != 0) {
572 
573  #line default
574  #line hidden
575  this.Write(" public override bool CanConstruct\r\n {\r\n get { return tr" +
576  "ue; }\r\n }\r\n\t\t\r\n");
577 
578  #line 164 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
579 if(isInherited){
580 
581  #line default
582  #line hidden
583  this.Write("\t\t\r\n /// <inheritdoc/>\r\n public override void ConstructFromData(Sil" +
584  "iconStudio.Core.Serialization.Converters.ConverterContext converterContext, obje" +
585  "ct data, ref object obj)\r\n {\r\n var dataT = (");
586 
587  #line 168 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
588  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
589 
590  #line default
591  #line hidden
592  this.Write(")data;\r\n var objT = (");
593 
594  #line 169 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
595  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
596 
597  #line default
598  #line hidden
599  this.Write(")obj;\r\n ConstructFromData(converterContext, dataT, ref objT);\r\n " +
600  " obj = objT;\r\n }\r\n\r\n");
601 
602  #line 174 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
603 }
604 
605  #line default
606  #line hidden
607  this.Write("\t\t/// <inheritdoc/>\r\n public ");
608 
609  #line 176 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
610 if(!isInherited){
611 
612  #line default
613  #line hidden
614  this.Write("override ");
615 
616  #line 176 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
617 }
618 
619  #line default
620  #line hidden
621  this.Write("void ConstructFromData(SiliconStudio.Core.Serialization.Converters.ConverterConte" +
622  "xt context, ");
623 
624  #line 176 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
625  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
626 
627  #line default
628  #line hidden
629  this.Write(" target, ref ");
630 
631  #line 176 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
632  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
633 
634  #line default
635  #line hidden
636  this.Write(" source)\r\n\t\t{\r\n\t\t\tsource = new ");
637 
638  #line 178 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
639  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
640 
641  #line default
642  #line hidden
643  this.Write("();\r\n\t\t}\r\n\r\n");
644 
645  #line 181 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
646  }
647 
648  #line default
649  #line hidden
650  this.Write(" /// <inheritdoc/>\r\n public ");
651 
652  #line 183 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
653 if(!isInherited){
654 
655  #line default
656  #line hidden
657  this.Write("override ");
658 
659  #line 183 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
660 }
661 
662  #line default
663  #line hidden
664  this.Write("void ConvertFromData(SiliconStudio.Core.Serialization.Converters.ConverterContext" +
665  " context, ");
666 
667  #line 183 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
668  this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp));
669 
670  #line default
671  #line hidden
672  this.Write(" target, ref ");
673 
674  #line 183 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
675  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
676 
677  #line default
678  #line hidden
679  this.Write(" source)\r\n {\r\n");
680 
681  #line 185 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
682  // EntityComponent have a separate ConstructFromData
683  if ((dataConverterInfo.DataInfo.Flags & DataTypeFlags.EntityComponent) == 0) {
684 
685  #line default
686  #line hidden
687 
688  #line 187 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
689 if(!type.Key.IsValueType){
690 
691  #line default
692  #line hidden
693  this.Write(" if(source == null)\r\n source = new ");
694 
695  #line 189 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
696  this.Write(this.ToStringHelper.ToStringWithCulture(objectTypeCSharp));
697 
698  #line default
699  #line hidden
700  this.Write("();\r\n\r\n");
701 
702  #line 191 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
703 }
704 
705  #line default
706  #line hidden
707 
708  #line 192 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
709 if(isInherited){
710 
711  #line default
712  #line hidden
713  this.Write("\t\t\t{\r\n\t\t\t\tvar targetBase = (");
714 
715  #line 194 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
716  this.Write(this.ToStringHelper.ToStringWithCulture(baseDataType.ConvertCSharp()));
717 
718  #line default
719  #line hidden
720  this.Write(")target;\r\n\t\t\t\tvar sourceBase = (");
721 
722  #line 195 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
723  this.Write(this.ToStringHelper.ToStringWithCulture(baseType.ConvertCSharp()));
724 
725  #line default
726  #line hidden
727  this.Write(")source;\r\n\t\t\t\tConvertFromData(context, targetBase, ref sourceBase);\r\n\t\t\t}\r\n\r\n");
728 
729  #line 199 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
730  }
731 
732  #line default
733  #line hidden
734 
735  #line 200 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
736  }
737 
738  #line default
739  #line hidden
740 
741  #line 201 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
742 foreach (var property in dataTypeInfo.Properties) {
743 if (property.DataType == property.OriginalType) {
744 
745  #line default
746  #line hidden
747  this.Write(" source.");
748 
749  #line 203 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
750  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
751 
752  #line default
753  #line hidden
754  this.Write(" = target.");
755 
756  #line 203 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
757  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
758 
759  #line default
760  #line hidden
761  this.Write(";\r\n");
762 
763  #line 204 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
764 } else {
765 
766  #line default
767  #line hidden
768  this.Write(" {\r\n var temp = source.");
769 
770  #line 206 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
771  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
772 
773  #line default
774  #line hidden
775  this.Write(";\r\n context.ConvertFromData(target.");
776 
777  #line 207 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
778  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
779 
780  #line default
781  #line hidden
782  this.Write(", ref temp);\r\n");
783 
784  #line 208 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
785 if (property.HasPublicSetAccessor) {
786 
787  #line default
788  #line hidden
789  this.Write(" source.");
790 
791  #line 209 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
792  this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
793 
794  #line default
795  #line hidden
796  this.Write(" = temp;\r\n");
797 
798  #line 210 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
799 } // if (property.HasPublicSetAccessor)
800 
801  #line default
802  #line hidden
803  this.Write(" }\r\n");
804 
805  #line 212 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
806 }} // end foreach
807 
808  #line default
809  #line hidden
810  this.Write(" }\r\n");
811 
812  #line 214 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
813 } // if DataTypeFlags.CustomConvertFromData
814 
815  #line default
816  #line hidden
817  this.Write(" }\r\n");
818 
819  #line 216 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
820 } // end if
821 
822  #line default
823  #line hidden
824  this.Write("\r\n");
825 
826  #line 218 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
827 } // end while
828 
829  #line default
830  #line hidden
831 
832  #line 219 "C:\Dev\Paradox\sources\tools\SiliconStudio.Paradox.VisualStudio.Commands\DataGenerator\DataConverterGenerator.tt"
833  ChangeNamespace(string.Empty);
834 
835  #line default
836  #line hidden
837  return this.GenerationEnvironment.ToString();
838  }
839  }
840 
841  #line default
842  #line hidden
843  #region Base class
844  /// <summary>
845  /// Base class for this transformation
846  /// </summary>
847  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "11.0.0.0")]
849  {
850  #region Fields
851  private global::System.Text.StringBuilder generationEnvironmentField;
852  private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField;
853  private global::System.Collections.Generic.List<int> indentLengthsField;
854  private string currentIndentField = "";
855  private bool endsWithNewline;
856  private global::System.Collections.Generic.IDictionary<string, object> sessionField;
857  #endregion
858  #region Properties
859  /// <summary>
860  /// The string builder that generation-time code is using to assemble generated output
861  /// </summary>
862  protected System.Text.StringBuilder GenerationEnvironment
863  {
864  get
865  {
866  if ((this.generationEnvironmentField == null))
867  {
868  this.generationEnvironmentField = new global::System.Text.StringBuilder();
869  }
870  return this.generationEnvironmentField;
871  }
872  set
873  {
874  this.generationEnvironmentField = value;
875  }
876  }
877  /// <summary>
878  /// The error collection for the generation process
879  /// </summary>
880  public System.CodeDom.Compiler.CompilerErrorCollection Errors
881  {
882  get
883  {
884  if ((this.errorsField == null))
885  {
886  this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection();
887  }
888  return this.errorsField;
889  }
890  }
891  /// <summary>
892  /// A list of the lengths of each indent that was added with PushIndent
893  /// </summary>
894  private System.Collections.Generic.List<int> indentLengths
895  {
896  get
897  {
898  if ((this.indentLengthsField == null))
899  {
900  this.indentLengthsField = new global::System.Collections.Generic.List<int>();
901  }
902  return this.indentLengthsField;
903  }
904  }
905  /// <summary>
906  /// Gets the current indent we use when adding lines to the output
907  /// </summary>
908  public string CurrentIndent
909  {
910  get
911  {
912  return this.currentIndentField;
913  }
914  }
915  /// <summary>
916  /// Current transformation session
917  /// </summary>
918  public virtual global::System.Collections.Generic.IDictionary<string, object> Session
919  {
920  get
921  {
922  return this.sessionField;
923  }
924  set
925  {
926  this.sessionField = value;
927  }
928  }
929  #endregion
930  #region Transform-time helpers
931  /// <summary>
932  /// Write text directly into the generated output
933  /// </summary>
934  public void Write(string textToAppend)
935  {
936  if (string.IsNullOrEmpty(textToAppend))
937  {
938  return;
939  }
940  // If we're starting off, or if the previous text ended with a newline,
941  // we have to append the current indent first.
942  if (((this.GenerationEnvironment.Length == 0)
943  || this.endsWithNewline))
944  {
945  this.GenerationEnvironment.Append(this.currentIndentField);
946  this.endsWithNewline = false;
947  }
948  // Check if the current text ends with a newline
949  if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture))
950  {
951  this.endsWithNewline = true;
952  }
953  // This is an optimization. If the current indent is "", then we don't have to do any
954  // of the more complex stuff further down.
955  if ((this.currentIndentField.Length == 0))
956  {
957  this.GenerationEnvironment.Append(textToAppend);
958  return;
959  }
960  // Everywhere there is a newline in the text, add an indent after it
961  textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField));
962  // If the text ends with a newline, then we should strip off the indent added at the very end
963  // because the appropriate indent will be added when the next time Write() is called
964  if (this.endsWithNewline)
965  {
966  this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length));
967  }
968  else
969  {
970  this.GenerationEnvironment.Append(textToAppend);
971  }
972  }
973  /// <summary>
974  /// Write text directly into the generated output
975  /// </summary>
976  public void WriteLine(string textToAppend)
977  {
978  this.Write(textToAppend);
979  this.GenerationEnvironment.AppendLine();
980  this.endsWithNewline = true;
981  }
982  /// <summary>
983  /// Write formatted text directly into the generated output
984  /// </summary>
985  public void Write(string format, params object[] args)
986  {
987  this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
988  }
989  /// <summary>
990  /// Write formatted text directly into the generated output
991  /// </summary>
992  public void WriteLine(string format, params object[] args)
993  {
994  this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
995  }
996  /// <summary>
997  /// Raise an error
998  /// </summary>
999  public void Error(string message)
1000  {
1001  System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
1002  error.ErrorText = message;
1003  this.Errors.Add(error);
1004  }
1005  /// <summary>
1006  /// Raise a warning
1007  /// </summary>
1008  public void Warning(string message)
1009  {
1010  System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
1011  error.ErrorText = message;
1012  error.IsWarning = true;
1013  this.Errors.Add(error);
1014  }
1015  /// <summary>
1016  /// Increase the indent
1017  /// </summary>
1018  public void PushIndent(string indent)
1019  {
1020  if ((indent == null))
1021  {
1022  throw new global::System.ArgumentNullException("indent");
1023  }
1024  this.currentIndentField = (this.currentIndentField + indent);
1025  this.indentLengths.Add(indent.Length);
1026  }
1027  /// <summary>
1028  /// Remove the last indent that was added with PushIndent
1029  /// </summary>
1030  public string PopIndent()
1031  {
1032  string returnValue = "";
1033  if ((this.indentLengths.Count > 0))
1034  {
1035  int indentLength = this.indentLengths[(this.indentLengths.Count - 1)];
1036  this.indentLengths.RemoveAt((this.indentLengths.Count - 1));
1037  if ((indentLength > 0))
1038  {
1039  returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength));
1040  this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength));
1041  }
1042  }
1043  return returnValue;
1044  }
1045  /// <summary>
1046  /// Remove any indentation
1047  /// </summary>
1048  public void ClearIndent()
1049  {
1050  this.indentLengths.Clear();
1051  this.currentIndentField = "";
1052  }
1053  #endregion
1054  #region ToString Helpers
1055  /// <summary>
1056  /// Utility class to produce culture-oriented representation of an object as a string.
1057  /// </summary>
1059  {
1060  private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture;
1061  /// <summary>
1062  /// Gets or sets format provider to be used by ToStringWithCulture method.
1063  /// </summary>
1064  public System.IFormatProvider FormatProvider
1065  {
1066  get
1067  {
1068  return this.formatProviderField ;
1069  }
1070  set
1071  {
1072  if ((value != null))
1073  {
1074  this.formatProviderField = value;
1075  }
1076  }
1077  }
1078  /// <summary>
1079  /// This is called from the compile/run appdomain to convert objects within an expression block to a string
1080  /// </summary>
1081  public string ToStringWithCulture(object objectToConvert)
1082  {
1083  if ((objectToConvert == null))
1084  {
1085  throw new global::System.ArgumentNullException("objectToConvert");
1086  }
1087  System.Type t = objectToConvert.GetType();
1088  System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] {
1089  typeof(System.IFormatProvider)});
1090  if ((method == null))
1091  {
1092  return objectToConvert.ToString();
1093  }
1094  else
1095  {
1096  return ((string)(method.Invoke(objectToConvert, new object[] {
1097  this.formatProviderField })));
1098  }
1099  }
1100  }
1101  private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper();
1102  /// <summary>
1103  /// Helper to produce culture-oriented representation of an object as a string
1104  /// </summary>
1105  public ToStringInstanceHelper ToStringHelper
1106  {
1107  get
1108  {
1109  return this.toStringHelperField;
1110  }
1111  }
1112  #endregion
1113  }
1114  #endregion
1115 }
Utility class to produce culture-oriented representation of an object as a string.
void WriteLine(string textToAppend)
Write text directly into the generated output
void Write(string format, params object[] args)
Write formatted text directly into the generated output
string PopIndent()
Remove the last indent that was added with PushIndent
void Write(string textToAppend)
Write text directly into the generated output
_In_ size_t _In_ size_t _In_ DXGI_FORMAT format
Definition: DirectXTexP.h:175
void WriteLine(string format, params object[] args)
Write formatted text directly into the generated output
string ToStringWithCulture(object objectToConvert)
This is called from the compile/run appdomain to convert objects within an expression block to a stri...