1. DynamicDictionary 必须继承自DynamicObject,并重写
public override bool TryGetMember(GetMemberBinder binder, out object result)
与 public override bool TrySetMember(SetMemberBinder binder, object value)
2.代码
class Program:DynamicObject
{
static void Main(string[] args)
{
DynamicDictionary.DDYMethod();
Console.ReadKey();
}
}
class DynamicDictionary : DynamicObject
{
public Dictionary<string, object> KeyValueDic = new Dictionary<string, object>();
/// <summary>
/// 此属性返回元素数 在内部字典中
/// </summary>
public int Count { get { return KeyValueDic.Count; } }
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
string name = binder.Name.ToLower();
return KeyValueDic.TryGetValue(name,out result);