protected virtual void AddProperty(PropertyInfo propertyInfo) { if (propertyInfo == null) { throw new ArgumentNullException("propertyInfo"); } Properties.Add(propertyInfo.Name, new OAProperty(this, propertyInfo)); }