C# 4.0 新特性dynamic (待学习)

Posted RemiHoston

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 4.0 新特性dynamic (待学习)相关的知识,希望对你有一定的参考价值。

随便翻看了一下dynamic,在网上拷贝了一个例子,先贴出来等有空了再慢慢消化

static void Main(string[] args)
{
dynamic d = new MyDynamicObject();
d.Mytable = "ojlovecd";
d.ojlovecd = "wang";
Console.WriteLine(d.Mytable);//新加的字段,VS不会自动提示
Console.WriteLine(d.ojlovecd);//新加的字段,VS不会自动提示
Console.ReadKey();
}
/// <summary>
/// 需要先实现父类的两个虚方法
/// </summary>
class MyDynamicObject : System.Dynamic.DynamicObject
{
private Dictionary<string, object> dic = new Dictionary<string, object>();

public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
{
return dic.TryGetValue(binder.Name, out result) || base.TryGetMember(binder, out result);
}

public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
{
if (dic.ContainsKey(binder.Name))
dic[binder.Name] = value;
else
dic.Add(binder.Name, value);
base.TrySetMember(binder, value);
return true;
}
}

以上是关于C# 4.0 新特性dynamic (待学习)的主要内容,如果未能解决你的问题,请参考以下文章

11年 C# 4.0四大新特性代码示例与解读

ES6新特性学习

ES7/8新特性学习随笔

CSS3 新特性学习

iOS 11 Xcode9开发 新特性学习 (新方法篇)

c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结转载