For Each field As System.Reflection.FieldInfo In input.[GetType]().GetFields(System.Reflection.BindingFlags.Public Or _ System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance Or _ System.Reflection.BindingFlags.DeclaredOnly)But, that method did not succeed as this alone cannot work. I am still looking at a deep copy serialize approach but might consider a recursive clone MemberwiseClone() approach instead, which would get rid of this serialize stuff I need to do a few places and would be three times faster.