public static FieldDrawer GetObjectDrawer(FieldAttribute attribute) { FieldDrawer objectDrawer = null; Type type = null; if (!ObjectDrawerUtility.ObjectDrawerForType(attribute.GetType(), ref objectDrawer, ref type, attribute.GetHashCode())) { return(null); } if (objectDrawer != null) { return(objectDrawer); } objectDrawer = (Activator.CreateInstance(type) as FieldDrawer); objectDrawer.Attribute = attribute; ObjectDrawerUtility.objectDrawerMap.Add(attribute.GetHashCode(), objectDrawer); return(objectDrawer); }