public static ColumnDescriber GetColumn(Type type, string name)
{
if (type == null) return null;
var memberInfos = type.GetMember(name, (BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy));
var mi = memberInfos.Length > 0 ? memberInfos[0] : null;
if (ExcludeAttribute.IsExcluded(mi)) return null;
var propertyInfo = mi as PropertyInfo;
if (propertyInfo != null) return propertyInfo.GetValue(null, null) as ColumnDescriber;
var fieldInfo = mi as FieldInfo;
if (fieldInfo != null) return fieldInfo.GetValue(null) as ColumnDescriber;
return null;
}