private static object get(Memory m, Memory.MemoryComponents Part) { switch (Part) { case Memory.MemoryComponents.KEY: return(m.Key); case Memory.MemoryComponents.NAME: return(m.Name); case Memory.MemoryComponents.VALUE: return(m.Value); default: return(null); } }
private static bool compare(Memory a, Memory b, Memory.MemoryComponents Part) { switch (Part) { case Memory.MemoryComponents.KEY: if (a.Key == b.Key) { return(true); } else { return(false); } case Memory.MemoryComponents.NAME: if (a.Name == b.Name) { return(true); } else { return(false); } case Memory.MemoryComponents.VALUE: if (a.Value == b.Value) { return(true); } else { return(false); } default: return(false); } }
private static object tryGetCommonField(ref Memories MemoryHaystack, String KeyS, KeyWord KeyK, Memory.MemoryComponents InPart, Memory.MemoryComponents OutPart) { Memory MemoryNeedle = new Memory(KeyS, KeyK, String.Empty, null); foreach (Memory Memory in MemoryHaystack) { switch (InPart) { case Memory.MemoryComponents.KEY: if (!Object.Equals(null, KeyK)) { if (KeyK != KeyWord.NIL) { if (compare(Memory, MemoryNeedle, InPart)) { return(get(Memory, OutPart)); } } } if (!Object.Equals(null, KeyS)) { if (KeyS != String.Empty) { if (compare(Memory, MemoryNeedle, InPart)) { return(get(Memory, OutPart)); } } } break; case Memory.MemoryComponents.NAME: if (!Object.Equals(null, KeyK)) { if (KeyK != KeyWord.NIL) { if (compare(Memory, MemoryNeedle, InPart)) { return(get(Memory, OutPart)); } } } if (!Object.Equals(null, KeyS)) { if (KeyS != String.Empty) { if (compare(Memory, MemoryNeedle, InPart)) { return(get(Memory, OutPart)); } } } break; } } return(null); }
public static bool tryGetCommonField(ref Memories Memories, String KeyS, KeyWord KeyK, System.Type OutValueType, Memory.MemoryComponents InPart, Memory.MemoryComponents OutPart, ref object outVar) { try { //lock (Memories) //{ String TYPE_STRING = typeof(System.String).ToString(); String TYPE_INT = typeof(System.Int32).ToString(); String TYPE_BOOL = typeof(System.Boolean).ToString(); String TYPE_KEYWORD = typeof(KeyWord).ToString(); String OUT_VALUE_TYPE = OutValueType.ToString(); Object o = null; // lock (Memories) // { o = tryGetCommonField(ref Memories, KeyS, KeyK, InPart, OutPart); // } string s = String.Empty; if (object.Equals(null, o)) { return(false); } if (OUT_VALUE_TYPE == TYPE_STRING) { s = (String)o; outVar = s; return(true); } else if (OUT_VALUE_TYPE == TYPE_BOOL) { s = (String)o; if (s != String.Empty) { outVar = Boolean.Parse(s); return(true); } else { outVar = false; return(false); } } else if (OUT_VALUE_TYPE == TYPE_INT) { s = (String)o; if (s != String.Empty) { outVar = System.Int32.Parse(s); return(true); } else { outVar = 0; return(false); } } else if (OUT_VALUE_TYPE == TYPE_KEYWORD) { outVar = (KeyWord)o; return(true); } else { outVar = null; return(false); } //} } catch //(Exception e) { // _Log(e.ToString()); return(false); } }