public void AddProperty <T>(PropertyH <T> ph) where T : new() { int idx = 0; int end = m_properties.Count; for (; idx < end;) { if (m_properties[idx] == null) { break; } idx++; } if (idx == end) { m_properties.Add(null); } m_properties[idx] = new Property <T>(ph); ph.Set(idx); }