in rd-net/RdFramework/Base/IRdBindable.cs [132:153]
private static bool Calculate()
{
var type = typeof(T);
if (type.IsValueType)
return false;
var rdBindableType = typeof(IRdBindable);
if (rdBindableType.IsAssignableFrom(type))
return true;
if (type.IsArray && type.GetElementType() is { } elementType && rdBindableType.IsAssignableFrom(elementType))
return true;
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>))
{
var argument = type.GetGenericArguments().Single();
if (rdBindableType.IsAssignableFrom(argument))
return true;
}
return false;
}