How can I get object instance from ()=>foo.Title expression

前端 未结 4 1376
感动是毒
感动是毒 2020-12-13 10:05

I have a simple class with a property

class Foo 
{ 
    string Title { get; set; } 
}

I am trying to simplify data binding by calling a fun

4条回答
  •  猫巷女王i
    2020-12-13 10:31

    Something like the following should work:

    void BindToText(Control control, Expression> property)
    {
        var mex = property.Body as MemberExpression;
        string name = mex.Member.Name;
    
        var fooMember = mex.Expression as MemberExpression;
        var fooConstant = fooMember.Expression as ConstantExpression;
        var foo = fooConstant.Value;
    
        control.DataBindings.Add("Text", foo, name);
    }
    

    Let me know if that doesn't work for you.

提交回复
热议问题