The function below basically tests to see if type object is a type that a basic type or core type of C#. This can be used in functions that automatically fill objects. Alternatively in a function like NotAComplexType.
All objects have some properties, this saves the compiler form running through basic types or allows you to test if the current property is a custom class vs a basic object.
public static bool IsBasicType(object obj) { Type objType = obj.GetType(); if (objType == typeof(bool) || objType == typeof(byte) || objType == typeof(char) || objType == typeof(DateTime) || objType == typeof(decimal) || objType == typeof(double) || objType == typeof(float) || objType == typeof(int) || objType == typeof(long) || objType == typeof(sbyte) || objType == typeof(short) || objType == typeof(string) || objType == typeof(uint) || objType == typeof(ulong) || objType == typeof(ushort) ) { return true; } return false; }