/// <summary> /// Creates the runtime fields for a given type. /// </summary> /// <param name="type">The type to create the runtime fields for.</param> /// <param name="fieldDiscovery">The field discovery instance to use for determining what fields are available.</param> /// <returns>The list of runtime fields for the given type.</returns> internal static IReadOnlyList <RuntimeField> CreateRuntimeFields(Type type, IFieldDiscovery fieldDiscovery) { return(fieldDiscovery.Discover(type.GetTypeInfo()).Select(RuntimeField.CreateRuntimeField).ToList()); }
/// <summary> /// Create a default runtime type from the given entity type. /// </summary> /// <param name="type">The CLR type that the entity is mapped to.</param> /// <param name="fieldDiscovery">The field discovery instance to use for determining what fields are available.</param> /// <returns>The entity type that represents a default configuration of the given entity type.</returns> public static IContract CreateRuntimeType(Type type, IFieldDiscovery fieldDiscovery) { var name = Inflector.Pluralize(type.Name.ToLower()); return(new RuntimeContract(name, type, CreateRuntimeFields(type, fieldDiscovery))); }
/// <summary> /// Create a default runtime type from the given entity. /// </summary> /// <param name="type">The CLR type that the entity is mapped to.</param> /// <param name="name">The name of the runtime type.</param> /// <param name="fieldDiscovery">The field discovery instance to use for determining what fields are available.</param> /// <returns>The entity type that represents a default configuration of the given entity type.</returns> public static IContract CreateRuntimeType(Type type, string name, IFieldDiscovery fieldDiscovery) { return(new RuntimeContract(name, type, CreateRuntimeFields(type, fieldDiscovery))); }
/// <summary> /// Constructor. /// </summary> /// <param name="fieldDiscovery">The field discovery to use.</param> public ReflectionTypeDiscovery(IFieldDiscovery fieldDiscovery) { _fieldDiscovery = fieldDiscovery; }