示例#1
0
 /// <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());
 }
示例#2
0
        /// <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)));
        }
示例#3
0
 /// <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;
 }