ZForge.Controls.TreeViewAdv.Tree.NodeControls.BindableControl.GetMemberAdapter C# (CSharp) Method

GetMemberAdapter() private method

private GetMemberAdapter ( TreeNodeAdv node ) : MemberAdapter
node TreeNodeAdv
return MemberAdapter
        private MemberAdapter GetMemberAdapter(TreeNodeAdv node)
        {
            if (node.Tag != null && !string.IsNullOrEmpty(DataPropertyName))
            {
                Type type = node.Tag.GetType();
                PropertyInfo pi = type.GetProperty(DataPropertyName);
                if (pi != null)
                    return new MemberAdapter(node.Tag, pi);
                else
                {
                    FieldInfo fi = type.GetField(DataPropertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                    if (fi != null)
                        return new MemberAdapter(node.Tag, fi);
                }
            }
            return MemberAdapter.Empty;
        }