MusicCatalogue.Services.Areas.HelpPage.ObjectGenerator.GenerateObject C# (CSharp) Method

GenerateObject() public method

Generates an object for a given type. The type needs to be public, have a public default constructor and settable public properties/fields. Currently it supports the following types: Simple types: int, string, Enum, DateTime, Uri, etc. Complex types: POCO types. Nullables: Nullable{T}. Arrays: arrays of simple types or complex types. Key value pairs: KeyValuePair{TKey,TValue} Tuples: Tuple{T1}, Tuple{T1,T2}, etc Dictionaries: IDictionary{TKey,TValue} or anything deriving from IDictionary{TKey,TValue}. Collections: IList{T}, IEnumerable{T}, ICollection{T}, IList, IEnumerable, ICollection or anything deriving from ICollection{T} or IList. Queryables: IQueryable, IQueryable{T}.
public GenerateObject ( Type type ) : object
type System.Type The type.
return object
        public object GenerateObject(Type type)
        {
            return GenerateObject(type, new Dictionary<Type, object>());
        }

Same methods

ObjectGenerator::GenerateObject ( Type type, object>.Dictionary createdObjectReferences ) : object

Usage Example

 private static void SetPublicFields(Type type, object obj, Dictionary<Type, object> createdObjectReferences)
 {
     FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
     ObjectGenerator objectGenerator = new ObjectGenerator();
     foreach (FieldInfo field in fields)
     {
         object fieldValue = objectGenerator.GenerateObject(field.FieldType, createdObjectReferences);
         field.SetValue(obj, fieldValue);
     }
 }
All Usage Examples Of MusicCatalogue.Services.Areas.HelpPage.ObjectGenerator::GenerateObject