完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

5cdd2dc095060.jpg

二次开发教程:C#DynamicObject和ExpandoObject

发布于:2019-07-25 15:28:45

网友投稿

更多

    class Program

    {

        static void Main(string[] args)

        {

            //dynamic v = new ExpandoObject();

            //v.Name = "123";

            //v.Value = "456";

            dynamic v = new TestClass();

            v.Name = "Name";

            v.Value = "Value";

            Console.WriteLine(v.Name);

            Console.ReadLine();

        }

    }



    public class TestClass:DynamicObject

    {

        private Dictionary<string, object> _dynamicData = new Dictionary<string, object>();


        public override bool TryGetMember(GetMemberBinder binder, out object result)

        {

            result = null;

            if(_dynamicData.Keys.Contains(binder.Name))

            {

                result = _dynamicData[binder.Name];

                return true;

            }

            return false; 

        }


        public override bool TrySetMember(SetMemberBinder binder, object value)

        {

            if(_dynamicData.Keys.Contains(binder.Name))

            {

                _dynamicData[binder.Name] = value;

            }

            else

            {

                _dynamicData.Add(binder.Name, value);

            }

            return true;

        }

    }

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

未标题-1.jpg

上一篇:二次开发教程:WPF 使用INotifyDataErrorInfo小例子

下一篇:关于revit中平面窗族的创建

60acb4e0ef112.png