using System; using System.Collections.Generic; namespace LeanCloud.Storage.Internal { /// /// So here's the deal. We have a lot of internal APIs for AVObject, AVUser, etc. /// /// These cannot be 'internal' anymore if we are fully modularizing things out, because /// they are no longer a part of the same library, especially as we create things like /// Installation inside push library. /// /// So this class contains a bunch of extension methods that can live inside another /// namespace, which 'wrap' the intenral APIs that already exist. /// public static class AVRelationExtensions { public static AVRelation Create(AVObject parent, string childKey) where T : AVObject { return new AVRelation(parent, childKey); } public static AVRelation Create(AVObject parent, string childKey, string targetClassName) where T: AVObject { return new AVRelation(parent, childKey, targetClassName); } public static string GetTargetClassName(this AVRelation relation) where T : AVObject { return relation.TargetClassName; } } }