/// <summary> /// : classStatement.ExtendedClassNames /// </summary> /// <param name="classStatement"></param> /// <returns></returns> private static string BuildExtendedClassesSection( ClassStatement classStatement ) { // Check if extendedClassName is interface // If all are interfaces, add ClientEntity var interfaceTypes = classStatement.ImplementedInterfaces; if (classStatement.IsInterface) { // The classStatament if for an interface, so the class will postfixed with an identifier. // And will need to be inherited from its created interface. interfaceTypes.Add( new TypeStatement { Name = classStatement.Name, GenericTypes = classStatement.GenericTypes, } ); } if (classStatement.ExtendedType == null && !interfaceTypes.Any()) { return(" : CachedEntityObject"); } if (classStatement.ExtendedType == null) { classStatement.ExtendedType = new TypeStatement { Name = "CachedEntityObject", }; } return(" : " + string.Join( ", ", new List <string> { TypeStatementWriter.Write( classStatement.ExtendedType, true ) }.Concat( interfaceTypes.Select( interfaceType => TypeStatementWriter.Write( interfaceType, true, true ) ) ).Distinct() )); }
private static string BuildClassGenerics( ClassStatement classStatement ) { var template = "<[[TYPE]]>"; if (!classStatement.GenericTypes.Any()) { return(string.Empty); } return(template.Replace( "[[TYPE]]", string.Join( ", ", classStatement.GenericTypes.Select( genericType => TypeStatementWriter.Write( genericType ) ) ) )); }