using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LeanCloud.Storage.Internal { public interface IObjectSubclassingController { String GetClassName(Type type); Type GetType(String className); bool IsTypeValid(String className, Type type); void RegisterSubclass(Type t); void UnregisterSubclass(Type t); void AddRegisterHook(Type t, Action action); AVObject Instantiate(String className); IDictionary GetPropertyMappings(String className); } }