Ejemplo n.º 1
0
        void AppendDelegate(DelegateType dt)
        {
            Skip(';');
            Append("    ");
            AppendModifiers(dt.Modifiers);
            Append("delegate " + dt.ReturnType + " " + dt.GetNestedName());

            if (dt.IsGenericDefinition)
            {
                Append("<");
                for (int i = 0; i < dt.GenericParameters.Length; i++)
                {
                    if (i > 0)
                    {
                        Append(",");
                    }
                    Append(dt.GenericParameters[i].Name);
                }
                Append(">");
            }

            Append("(");

            bool first = true;

            foreach (var p in dt.Parameters)
            {
                if (!first)
                {
                    Append(", ");
                }
                else
                {
                    first = false;
                }

                Append(p.Modifier.ToLiteral(true) + p.Type + " " + p.Name);
            }

            AppendLine(");");
        }