public static FieldMismatch[] FindClientFieldMismatches(Type clientDataType, Type serverDataType) { var clientTree = ObjectTreeTraverser.Traverse(clientDataType); var serverTree = ObjectTreeTraverser.Traverse(serverDataType); return(FindClientFieldMismatches(clientTree, serverTree, "root").ToArray()); }
public static FieldMismatch[] FindClientFieldMismatches <TClientData, TServerData>() { var clientTree = ObjectTreeTraverser.Traverse <TClientData>(); var serverTree = ObjectTreeTraverser.Traverse <TServerData>(); return(FindClientFieldMismatches(clientTree, serverTree, "root").ToArray()); }
public static ResponseSpecification Create <T>() { var type = typeof(T); var treeNode = ObjectTreeTraverser.Traverse(type); return(new ResponseSpecification { Fields = SelectFields(treeNode) }); }
public object Format(object obj, ResponseSpecification responseSpecification) { if (obj == null) { return(null); } var treeNode = ObjectTreeTraverser.Traverse(obj.GetType()); return(Traverse(obj, responseSpecification.Fields, treeNode)); }
public static FieldMismatch[] FindClientFieldMismatches <TServerData>(ResponseSpecification clientResponseSpecification) { var serverTree = ObjectTreeTraverser.Traverse <TServerData>(); return(FindClientFieldMismatches(clientResponseSpecification.Fields, serverTree, "root").ToArray()); }