public override string ToString()
{
string[] splitter = {"."};
string[] nameParts = Name.Split(splitter, StringSplitOptions.RemoveEmptyEntries);
var output = new StringBuilder();
output.Append("namespace ").Append(Assembly.Name);
for (int x = 0; x < nameParts.Length - 1; ++x)
output.Append(".").Append(nameParts[x]);
output.Append("\n{\n");
output.Append((Attributes & TypeAttributes.Public) > 0 ? "public " : "private ");
output.Append("class ");
output.Append(nameParts[nameParts.Length - 1]);
string seperator = " : ";
if (BaseClass != null)
{
output.Append(seperator).Append(BaseClass.Name);
seperator = ", ";
}
foreach (var Interface in Interfaces)
{
output.Append(seperator).Append(Interface.Name);
seperator = ", ";
}
output.Append("\n{");
Constructors.ForEach(x => output.Append(x.ToString()));
Methods.ForEach(x => output.Append(x.ToString()));
Properties.ForEach(x => output.Append(x.GetDefinition()));
Fields.ForEach(x => output.Append(x.GetDefinition()));
output.Append("\n}\n}\n\n");
return output.ToString();
}