public static List<T> FindInstances<T>(object value)
{
List<T> instances = new();
Type type = value.GetType();
foreach (FieldInfo field in type.GetFields())
{
if (typeof(T).IsAssignableFrom(field.FieldType))
{
object fieldValue = field.GetValue(value);
if (fieldValue is T instance)
{
instances.Add(instance);
}
}
}
return instances;
}
public static List<T> FindInstances<T>(object value)
{
List<T> instances = new();
Type type = value.GetType();
foreach (FieldInfo field in type.GetFields())
{
if (typeof(T).IsAssignableFrom(field.FieldType))
{
object fieldValue = field.GetValue(value);
if (fieldValue is T instance)
{
instances.Add(instance);
}
}
}
return instances;
}