c#属性绑定

  

,,,,,,,,,,,,,,,, Type  _class =, this.GetType ();   ,,,,,,,,,,,,,,,FieldInfo  _field =, _class.GetField (@fieldName, BindingFlags.Instance  |, BindingFlags.NonPublic);

→非公共成员将包括在内进行搜索,意思就是私人成员也可以搜索到。


在模型中注册须发的主题(用户)

using 系统;   using  System.Collections.Generic;   using 来;   using 包含;   using  System.Threading.Tasks;   using  BindLib.com;      namespace  BindDemo.com.model   {   ,,,public  sealed  class  User : BaseDataModel   ,,,{   ,,,,,,,private  int  _hp =, 1000;   ,,,,,,,public  int 惠普   ,,,,,,,{   ,,,,,,,,,,,get  {_hp;, return }   ,,,,,,,,,,,//绑定惠普(血量)   ,,,,,,,,,,,set  {, this.ChangeValue(“惠普”、“_hp”,值),,}   ,,,,,,,}      ,,,,,,,private  bool  _isLive =,假;      ,,,,,,,public  bool  IsLive   ,,,,,,,{   ,,,,,,,,,,,get  {_isLive;, return }   ,,,,,,,,,,,set  {, this.ChangeValue (“IsLive”,“_isLive”,值),,}   ,,,,,,,}   ,,,}   }

这的注意的是字段_hp和字段_isLive都是私人(私用的):这个和AS3绑定(见AS3属性绑定/上一篇)有很大的不同,这得益于c#可以从外部访问私人


视图中需要绑定(注册侦听)(UserView)

using 系统;   using  System.Collections.Generic;   using 来;   using 包含;   using  System.Threading.Tasks;   using  BindLib;      namespace  BindDemo.com.model   {   ,,,public  sealed  class  UserView   ,,,{   ,,,,,,,public  User 用户;   ,,,,,,,private  int  _hp;   ,,,,,,,public  int 惠普   ,,,,,,,{   ,,,,,,,,,,,set  {,   ,,,,,,,,,,,,,,,this._hp =, value ;   ,,,,,,,,,,,,,,,Console.WriteLine(“血量,{0}”,,值);   ,,,,,,,,,,,}   ,,,,,,,,,,,get  {this._hp;, return }   ,,,,,,,}   ,,,,,,,public  UserView ()   ,,,,,,,{   ,,,,,,,,,,,user =, new 用户();   ,,,,,,,,,,,BindTools.BindProperty(这个,,“惠普”,用户,“惠普”,真正的);   ,,,,,,,,,,,BindTools.BindSetter (this.UpdateIsLive,用户,“IsLive”,真正的);   ,,,,,,,}      ,,,,,,,private  void  UpdateIsLive (bool  @isLive)   ,,,,,,,{   ,,,,,,,,,,,Console.WriteLine (@isLive  ?,“活”着,:,“战死”);   ,,,,,,,}      ,,,}   }

好了,具体参数意思可以参考(《AS3属性绑定》篇,上篇)

测试:

using 系统;   using  System.Collections.Generic;   using 来;   using 包含;   using  System.Threading.Tasks;   using  BindDemo.com.model;      namespace  BindDemo   {   ,,,class 程序   ,,,{   ,,,,,,,static  void  Main (string [], args)   ,,,,,,,{   ,,,,,,,,,,,UserView  _uM =, new  UserView ();   null   null   null   null   null   null   null   null   null   null   null   null   null

c#属性绑定