/// <summary> /// Create the template output /// </summary> public virtual string TransformText() { this.Write("\r\nusing System;\r\n\r\nnamespace "); #line 10 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.TypeInfo.Namespace)); #line default #line hidden this.Write("\r\n{\r\n\t"); #line 12 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypeNestingStart(this.TypeInfo))); #line default #line hidden this.Write("\r\n\r\n\tpartial "); #line 14 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TypeAnalysis.GetTypeKeyword(this.TypeInfo))); #line default #line hidden this.Write(" "); #line 14 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypedTypeName(this.TypeInfo))); #line default #line hidden this.Write(" : IEquatable<"); #line 14 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypedTypeName(this.TypeInfo))); #line default #line hidden this.Write(">\r\n\t{\r\n\t\tpublic bool Equals("); #line 16 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypedTypeName(this.TypeInfo))); #line default #line hidden this.Write(" other)\r\n {\r\n if (object.ReferenceEquals(other, null))\r\n\t\t\t\tret" + "urn false;\r\n\t\t\t\r\n\t\t\treturn\r\n\t\t\t "); #line 22 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(string.Join( " && \r\n ", this .StatedMembers .Select(x => $"this.{x}.Equals(other.{x})")))); #line default #line hidden this.Write(";\r\n }\r\n\r\n "); #line 29 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.MakeGetHashCode())); #line default #line hidden this.Write("\r\n\r\n "); #line 31 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeEqualsConformity(this.DataTypeInfo))); #line default #line hidden this.Write("\r\n\t}\r\n\t"); #line 33 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\EqualityThroughMembers.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypeNestingEnd(this.TypeInfo))); #line default #line hidden this.Write("\r\n}"); return(this.GenerationEnvironment.ToString()); }
/// <summary> /// Create the template output /// </summary> public virtual string TransformText() { this.Write("\r\nnamespace "); #line 8 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.TypeInfo.Namespace)); #line default #line hidden this.Write("\r\n{\r\n\t"); #line 10 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypeNestingStart(this.TypeInfo))); #line default #line hidden this.Write("\r\n\tpartial "); #line 11 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(TypeAnalysis.GetTypeKeyword(this.TypeInfo))); #line default #line hidden this.Write(" "); #line 11 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.TypeInfo.Name)); #line default #line hidden this.Write("\r\n\t{\r\n\t\tpublic "); #line 13 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.TypeInfo.Name)); #line default #line hidden this.Write("("); #line 13 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.MakeConstructorParameters())); #line default #line hidden this.Write(")\r\n\t\t{\r\n\t\t\t"); #line 15 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" foreach (var g in this.GetGuards()) { #line default #line hidden this.Write("\t\t\t\t"); #line 16 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(g.TransformText())); #line default #line hidden this.Write("\r\n\t\t\t"); #line 17 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" } #line default #line hidden this.Write("\t\t\t\r\n\t\t\t"); #line 19 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" foreach (var mi in this.GetDataMembers()) { #line default #line hidden this.Write("\t\t\t\t\r\n\t\t\t\tthis."); #line 21 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(mi.name)); #line default #line hidden this.Write(" = "); #line 21 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(mi.name)); #line default #line hidden this.Write(";\r\n\r\n\t\t\t"); #line 23 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" } #line default #line hidden this.Write("\t\t\r\n\t\t}\r\n\t}\r\n\t"); #line 27 "E:\Xenko Projects\XenoSpace\CodeGeneration.TemplatesT4\Templates\StructuralConstructor.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassMaker.MakeTypeNestingEnd(this.TypeInfo))); #line default #line hidden this.Write("\r\n}\r\n"); return(this.GenerationEnvironment.ToString()); }