public static MyType GenerateFieldData <MyType>(FieldDataTypeEnum field) { switch (field) { case FieldDataTypeEnum.price: return((MyType)(object)DataGenerator.Price()); case FieldDataTypeEnum.timeInterval: break; case FieldDataTypeEnum.date: break; case FieldDataTypeEnum.time: break; case FieldDataTypeEnum.strike: return((MyType)(object)DataGenerator.Strike()); default: throw new NotImplementedException(); } }
/// <summary> /// This method parses the sourceObject passed in and returns /// the data type (FieldDataTypeEnum) for the property /// passed in. /// </summary> /// <param name="propertyName">Property to determine the data type of.</param> /// <param name="sourceObject">Object that this property is an attribute of.</param> /// <returns></returns> public static FieldDataTypeEnum ParseDataType(string propertyName, object sourceObject) { // Initial Value FieldDataTypeEnum tempDataType = FieldDataTypeEnum.NotSet; // Create Reflection Object Type mirror = sourceObject.GetType(); // Verify FieldName exists if (!String.IsNullOrEmpty(propertyName)) { // get property from this object. PropertyInfo property = mirror.GetProperty(propertyName); // verify property is not null. if (property != null) { // Get Property Type From Object string propertyType = property.PropertyType.ToString(); switch (propertyType) { case "System.String": // Set DataType to string tempDataType = FieldDataTypeEnum.String; // required break; } } } // Return Value return(tempDataType); }