diff --git a/src/Framework/Framework/Controls/GridViewDataSetBindingProvider.cs b/src/Framework/Framework/Controls/GridViewDataSetBindingProvider.cs index 2651526d69..e9da10f422 100644 --- a/src/Framework/Framework/Controls/GridViewDataSetBindingProvider.cs +++ b/src/Framework/Framework/Controls/GridViewDataSetBindingProvider.cs @@ -361,6 +361,7 @@ private static Type GetOptionsConcreteType(Type dataSetConcre var interfaces = dataSetConcreteType.GetInterfaces() .Where(i => i.IsGenericType && i.GetGenericTypeDefinition() == genericInterface) + .Distinct() .ToList(); if (interfaces.Count < 1) { @@ -368,7 +369,7 @@ private static Type GetOptionsConcreteType(Type dataSetConcre } else if (interfaces.Count > 1) { - throw new ArgumentException($"The {dataSetConcreteType} implements multiple interfaces where {genericInterface.Name}. Only one implementation is allowed."); + throw new ArgumentException($"The {dataSetConcreteType} implements multiple interfaces where {genericInterface.Name} ({interfaces.Select(i => i.ToCode()).StringJoin(", ")}). Only one implementation is allowed."); } var pagingOptionsConcreteType = interfaces[0].GetGenericArguments()[0];