public static void DumpTo(this CSharpModifiers modifiers, CodeWriter writer) { if ((modifiers & CSharpModifiers.Const) != 0) { writer.Write("const "); return; } if ((modifiers & CSharpModifiers.Static) != 0) { writer.Write("static "); } if ((modifiers & CSharpModifiers.Abstract) != 0) { writer.Write("abstract "); } if ((modifiers & CSharpModifiers.Unsafe) != 0) { writer.Write("unsafe "); } if ((modifiers & CSharpModifiers.ReadOnly) != 0) { writer.Write("readonly "); } if ((modifiers & CSharpModifiers.Extern) != 0) { writer.Write("extern "); } if ((modifiers & CSharpModifiers.Partial) != 0) { writer.Write("partial "); } }
/// <summary> /// Generates a property accessor within the runtime type. /// </summary> /// <param name="writer"> /// The text writer that outputs the content into the file. /// </param> /// <param name="accessor"> /// The accessor to be generated. /// </param> /// <param name="accessorType"> /// The type of accessor to be generated. /// </param> /// <param name="modifier"> /// The property modifier. /// </param> protected virtual void GenerateMember(StreamWriter writer, CSharpAccessor accessor, String accessorType, CSharpModifiers modifier) { // Validate that the accessor has been defined if (accessor == null) { return; } // Output the accessor modifier and type writer.Write(" "); writer.Write(accessor.AccessorModifier == modifier ? null : accessor.AccessorModifier.ConvertTo <String>().ToLower().Replace("_", " ") + " "); writer.Write(accessorType); // Output the accessor code if (accessor.AccessorCode == null || accessor.AccessorCode.Length == 0) { writer.WriteLine(";"); } if (accessor.AccessorCode != null && accessor.AccessorCode.Length == 1) { writer.WriteLine(" { " + accessor.AccessorCode[0] + " }"); } if (accessor.AccessorCode != null && accessor.AccessorCode.Length >= 2) { writer.WriteLine(); writer.WriteLine(" {"); writer.WriteLine(String.Join(Environment.NewLine, accessor.AccessorCode.Select(code => " " + code))); writer.WriteLine(" }"); } }