예제 #1
0
파일: String.cs 프로젝트: vadimostanin/GA
 protected override void WriteField(Action<string> Flusher, FieldAddress address, string sub, string value)
 {
     Flusher(string.Format("{0}={1}", address.Child(sub).GetDottedString(), value));
 }
예제 #2
0
파일: String.cs 프로젝트: vadimostanin/GA
 protected override void WriteNullField(Action<string> Flusher, FieldAddress address, string sub)
 {
     Flusher(string.Format("{0}@Null", address.Child(sub).GetDottedString()));
 }
예제 #3
0
 static void TreeRunDown(FieldAddress address, object obj, Action<FieldAddress, object> rootFirstAction, Action<FieldAddress, object> leafFirstAction)
 {
     if (obj==null) return;
     if (rootFirstAction != null)
         rootFirstAction(address, obj);
     var res = TypeResolver.GetResolver(obj.GetType());
     foreach (var e in res.GetSubaddresses(obj))
         TreeRunDown(address.Child(e),res.GetElement(obj, e), rootFirstAction, leafFirstAction);
     if (leafFirstAction != null)
         leafFirstAction(address, obj);
 }