Example #1
0
        public override PointDataSourceBase TryBuild(object data)
        {
            var types = IEnumerableHelper.GetGenericInterfaceArgumentTypes(data, typeof(IDataSource2D <>));

            if (types != null && types.Length > 0)
            {
                Type genericDataSource2DType = typeof(GenericDataSource2D <>).MakeGenericType(types);
                var  result     = Activator.CreateInstance(genericDataSource2DType, data);
                var  dataSource = (PointDataSourceBase)result;
                return(dataSource);
            }

            return(null);
        }
        public override bool TryBuild(object data, out PointDataSourceBase dataSource)
        {
            dataSource = null;

            var types = IEnumerableHelper.GetGenericInterfaceArgumentTypes(data, typeof(IEnumerable <>));

            if (types != null && types.Length == 1)
            {
                Type genericIEnumerableType = typeof(GenericIEnumerableDataSource <>).MakeGenericType(types);
                var  result = Activator.CreateInstance(genericIEnumerableType, data);
                dataSource = (PointDataSourceBase)result;
                return(true);
            }

            return(false);
        }