/// <summary> /// Generates a property member within the runtime type. /// </summary> /// <param name="writer"> /// The text writer that outputs the content into the file. /// </param> /// <param name="member"> /// The property to be generated. /// </param> protected virtual void GenerateMember(StreamWriter writer, CSharpProperty member) { // Generate the documentation this.GenerateDocumentation(writer, true, "summary", member.XmlSummary); this.GenerateDocumentation(writer, true, "remarks", member.XmlRemarks); // Generate the signature if (member.Attributes != null && member.Attributes.Length != 0) { writer.WriteLine(" [" + String.Join(", ", member.Attributes) + "]"); } writer.Write(" "); writer.Write(member.PropertyType); writer.Write(" "); writer.Write(member.Name); writer.WriteLine(); // Generate the accessors writer.WriteLine(" {"); if (member.PropertyGetter != null) { writer.WriteLine(" get;"); } if (member.PropertySetter != null) { writer.WriteLine(" set;"); } writer.WriteLine(" }"); }
/// <summary> /// Generates a property member within the runtime type. /// </summary> /// <param name="writer"> /// The text writer that outputs the content into the file. /// </param> /// <param name="member"> /// The property to be generated. /// </param> protected override void GenerateMember(StreamWriter writer, CSharpProperty member) { List <CSharpModifiers> modifiers = new List <CSharpModifiers>(); if (member.PropertyGetter != null) { modifiers.Add(member.PropertyGetter.AccessorModifier); } if (member.PropertySetter != null) { modifiers.Add(member.PropertySetter.AccessorModifier); } // Generate the documentation this.GenerateDocumentation(writer, true, "summary", member.XmlSummary); this.GenerateDocumentation(writer, true, "remarks", member.XmlRemarks); // Generate the signature if (member.Attributes != null && member.Attributes.Length != 0) { writer.WriteLine(" [" + String.Join(", ", member.Attributes) + "]"); } writer.Write(" "); writer.Write(modifiers.Min().ConvertTo <String>().ToLower().Replace("_", " ")); writer.Write(" "); writer.Write(member.PropertyAbstraction == CSharpAbstractions.None ? "" : member.PropertyAbstraction.ConvertTo <String>().ToLower() + " "); writer.Write(member.PropertyType); writer.Write(" "); writer.Write(member.Name); writer.WriteLine(); // Generate the accessors writer.WriteLine(" {"); this.GenerateMember(writer, member.PropertyGetter, "get", modifiers.Min()); this.GenerateMember(writer, member.PropertySetter, "set", modifiers.Min()); writer.WriteLine(" }"); }