/// <summary> /// Assigns a data source to the list view. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="elements"></param> public void SetDataSource<T>(IEnumerable<T> elements) where T : CGObject_C { if (olvColumn1.Renderer == null) throw new InvalidOperationException("Bind a renderer before assigning objects!"); if (olvColumn1.Renderer.GetType().IsGenericType) { var genericType = olvColumn1.Renderer.GetType().GetGenericArguments()[0]; if (!(genericType.IsAssignableFrom(typeof(T)))) throw new InvalidOperationException("Type mismatch between the renderer and the provided collection!"); } listView1.Objects = elements; }