public string GetDeclarationLine(bool withSemicolon)
{
StringBuilder builder = new StringBuilder(100);
if (AccessModifier != AccessModifier.Default) {
builder.Append(Language.GetAccessString(AccessModifier, true));
builder.Append(" ");
}
if (IsHider)
builder.Append("new ");
if (IsStatic)
builder.Append("static ");
if (IsVirtual)
builder.Append("virtual ");
if (IsAbstract)
builder.Append("abstract ");
if (IsSealed)
builder.Append("sealed ");
if (IsOverride)
builder.Append("override ");
if (string.IsNullOrEmpty(Type))
builder.AppendFormat("{0}(", Name);
else
builder.AppendFormat("{0} {1}(", Type, Name);
for (int i = 0; i < ArgumentList.Count; i++) {
builder.Append(ArgumentList[i]);
if (i < ArgumentList.Count - 1)
builder.Append(", ");
}
builder.Append(")");
if (withSemicolon && !HasBody)
builder.Append(";");
return builder.ToString();
}