Noodles by Harry McIntyre

<PackageReference Include="Noodles" Version="1.1.556" />

 NodePropertiesExtension

public static class NodePropertiesExtension
public static IEnumerable<INode> GetNodeProperties<TNode>(this object o, TNode resource, Type fallback = null) where TNode : INode

public static INode NodeProperty<TNode>(this object o, TNode resource, string propertyName, Type fallback = null) where TNode : INode

public static IEnumerable<INode> YieldFindNodePropertiesUsingReflection<TNode>(TNode node, object target, Type fallback) where TNode : INode

public static IEnumerable<PropertyInfo> YieldFindPropertyInfosUsingReflection(this object target, Type fallback)