// Don't use getter/setter methods, make it obvious these are method function calls, not members, take a snapshot with GET, don't use .Position, etc. public PositionInfo GetPosInfo() { lock (m_posInfo) { return((PositionInfo)m_posInfo.Clone()); } }