private static CodeTypeDeclaration GenerateCollectionType(CodeTypeReference entityType) { string entityTypeName = entityType.IsNullableType() ? "Nullable" + Type.GetType(entityType.TypeArguments[0].BaseType).Name : entityType.BaseType; string collectionTypeName = GetCollectionTypeName(entityTypeName); CodeTypeDeclaration collectionType = new CodeTypeDeclaration(collectionTypeName); CodeTypeReference baseType = new CodeTypeReference(typeof(Collection <>)); if (entityType.IsNullableType()) { baseType.TypeArguments.Add(entityType.CloseNullableType()); } else { baseType.TypeArguments.Add(entityType.BaseType); } collectionType.BaseTypes.Add(baseType); return(collectionType); }
public CodeTypeReference CreateCollectionType(CodeTypeReference entityType, ExtendedCodeDomTree code) { Debug.Assert(entityType != null, "Argument entity type could not be null."); // Do not create a ByteCollection as this is not compatiable with base64Binary! if (entityType.BaseType == typeof(byte).FullName) { return(entityType); } CodeTypeReference ctr = new CodeTypeReference(typeof(List <>)); if (entityType.IsNullableType()) { ctr.TypeArguments.Add(entityType.CloseNullableType()); } else { ctr.TypeArguments.Add(entityType.BaseType); } return(ctr); }