public Type GetEditorType(EditorManager manager) { if (manager == null) { return(null); } if (!m_editorCached) { try { Type editAsType = m_wrapper.ValueIsDerivedFromAny(manager.GetAvailableTypes()); m_editorType = (editAsType == null ? null : manager.GetEditorTypeForValueType(editAsType, false)); } catch (System.Exception) { m_editorType = null; } m_editorCached = true; } return(m_editorType); }