diff --git a/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs b/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs index d3415d713..00f55d6a1 100644 --- a/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs +++ b/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs @@ -829,7 +829,12 @@ public virtual bool TryCreateAdapter(DataRow adapterRow, out T adapter) throw new InvalidOperationException("Specified adapter assembly does not exist"); Assembly assembly = Assembly.LoadFrom(assemblyName); - adapter = (T)Activator.CreateInstance(assembly.GetType(typeName)!)!; + Type? adapterType = assembly.GetType(typeName); + + if (!typeof(T).IsAssignableFrom(adapterType)) + throw new InvalidOperationException("Adapter type is not compatible with the adapter collection"); + + adapter = (T)Activator.CreateInstance(adapterType)!; // Assign critical adapter properties adapter.Name = name;