Castle.MonoRail.ActiveRecordSupport.ARDataBinder.AddToContainer C# (CSharp) Method

AddToContainer() private method

private AddToContainer ( object container, object item ) : void
container object
item object
return void
		private void AddToContainer(object container, object item)
		{
			if (container is IList)
			{
				(container as IList).Add(item);
			}
			else if (container is ISet)
			{
				(container as ISet).Add(item);
			}
			else if (container != null)
			{
				Type itemType = item.GetType();

				Type collectionType = typeof(ICollection<>).MakeGenericType(itemType);

				if (collectionType.IsAssignableFrom(container.GetType()))
				{
					MethodInfo addMethod = container.GetType().GetMethod("Add");

					addMethod.Invoke(container, new object[] {item});
				}
			}
		}