预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入

一开始初始化的时候,将一些数据类型对象转存动态对象存储了,如下:

private List<dynamic> SqlDBType = new List<dynamic>();

Enum
    .GetNames(typeof(System.Data.SqlDbType))
    .ToList()
    .ForEach(x = >SqlDBType.Add(new {
    text = x.ToLower(),
    value = x.ToLower()
}));
当我进行xxx匹配时,不行了,出错编译不过

SqlDBType.Any(x => <span style="color:#ff0000;">x.text==...</span>
原因是动态表达式,在运行时解析的,负者这个功能的库是Microsoft.CSharp.dll,因此一定要对其引用,然后再编译就通过了





你可能感兴趣的:(dynamic,Binder,RuntimeBinder,动态表达式)