class DynamicInputParams: DynamicObject { Dictionary<string, object> property = new Dictionary<string, object>(); public override bool TryGetMember(GetMemberBinder binder, out object result) { string name = binder.Name; return property.TryGetValue(name, out result); } public override bool TrySetMember(SetMemberBinder binder, object value) { property[binder.Name] = value; return true; } }
首先继承DynamicObject,添加property属性,并实现下面的两个方法,然后调用方法如下:
dynamic dyInputParams = new DynamicInputParams(); dyInputParams.A = "abc"; dyInputParams.B = "d"; var s = dyInputParams.A;
s的值为“abc”
但是该属性没有get/set方法,所以在PropertyGrid控件中无法显示该属性。
浙公网安备 33010602011771号