void AppendMethodComment (StringBuilder builder, string indent, IMethod method) { CSharpAmbience ambience = new CSharpAmbience (); if (method.Parameters != null) { foreach (IParameter para in method.Parameters) { builder.Append (Environment.NewLine); builder.Append (indent); builder.Append ("/// <param name=\""); builder.Append (para.Name); builder.Append ("\">\n"); builder.Append (indent); builder.Append ("/// A <see cref=\""); builder.Append (ambience.GetString (para.ReturnType, OutputFlags.ClassBrowserEntries | OutputFlags.UseFullName | OutputFlags.UseNETTypeNames)); builder.Append ("\"/>\n"); builder.Append (indent); builder.Append ("/// </param>"); } } if (method.ReturnType != null && method.ReturnType.FullName != "System.Void") { builder.Append (Environment.NewLine); builder.Append (indent); builder.Append("/// <returns>\n"); builder.Append (indent); builder.Append ("/// A <see cref=\""); builder.Append (ambience.GetString (method.ReturnType, OutputFlags.ClassBrowserEntries | OutputFlags.UseFullName | OutputFlags.UseNETTypeNames)); builder.Append ("\"/>\n"); builder.Append (indent); builder.Append ("/// </returns>"); } }
void AppendPropertyComment (StringBuilder builder, string indent, IProperty property) { if (property.Parameters != null) { CSharpAmbience ambience = new CSharpAmbience (); foreach (IParameter para in property.Parameters) { builder.Append (Environment.NewLine); builder.Append (indent); builder.Append ("/// <param name=\""); builder.Append (para.Name); builder.Append ("\">\n"); builder.Append (indent); builder.Append ("/// A <see cref=\""); builder.Append (ambience.GetString (para.ReturnType, OutputFlags.ClassBrowserEntries | OutputFlags.UseFullName | OutputFlags.UseNETTypeNames)); builder.Append ("\"/>\n"); builder.Append (indent); builder.Append ("/// </param>"); } } }
public override IMember ImplementMember (RefactorerContext ctx, IType cls, IMember member, IReturnType privateImplementationType) { if (privateImplementationType != null) { // Workaround for bug in the code generator. Generic private implementation types are not generated correctly when they are generic. Ambience amb = new CSharpAmbience (); string tn = amb.GetString (privateImplementationType, OutputFlags.IncludeGenerics | OutputFlags.UseFullName | OutputFlags.UseIntrinsicTypeNames); privateImplementationType = new DomReturnType (tn); } return base.ImplementMember (ctx, cls, member, privateImplementationType); }