You can use Type.GetGenericArguments
to get the System.Type
of the first generic argument to your Func<T,bool?>
.
That being said, it would likely be easier to store a Dictionary<Type, Delegate>
to hold your types, and just do a direct lookup instead.