c# 确定dynamic类型的数据对象是否存在某个属性

原文:c# 确定dynamic类型的数据对象是否存在某个属性

public static bool IsPropertyExist(dynamic data, string propertyname)

{

if (data is ExpandoObject)

return ((IDictionary<string, object>)data).ContainsKey(propertyname);

return data.GetType().GetProperty(propertyname) != null;

}

原文地址:https://www.cnblogs.com/lonelyxmas/p/11286847.html

时间: 2024-11-10 13:36:56

c# 确定dynamic类型的数据对象是否存在某个属性的相关文章

C# 使用dynamic类型来访问JObject对象

原文:C# 使用dynamic类型来访问JObject对象 dynamic是C#里面的动态类型,可在未知类型的情况访问对应的属性,非常灵活和方便. 使用Json.Net可以把一个Json字符串转换成一个JObject对象,如果有已知强类型,如果有已知对应的强类型,可以直接转成对应的类型.但如果没有,要访问Json里面对应的数据的时候,就显得比较麻烦.我们可以借助DynamicObject来访问对应的属性. DynamicObject 我们要创建一个动态类,用于访问JObject,代码如下: pu

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用. 异常信息(部分): System.Web.Services.Protocols.SoapException: 服务器无法处理请求. ---> System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 序列化类型 Web

如何将一个对象赋值给指定类型的数据?

用转换构造函数可以将一个指定类型的数据转换为类的对象.但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据). C++提供类型转换函数(type conversion function)来解决这个问题.类型转换函数的作用是将一个类的对象转换成另一类型的数据.如果已声明了一个Complex类,可以在Complex类中这样定义类型转换函数: operator double( ) { return real; } 函数返回double型变量re

将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)

表单序列化类型的数据是指url传递的数据的格式,形如"key=value&key=value&key=value"这样的key/value的键值对.一般来说使用jQuery的$.fn.serialize函数能达到这样的效果.如何将这样的格式转化为对象? 我们知道使用jQuery的$.fn.serializeArray函数得到的是一个如下结构的对象 [ { name: "startTime" value: "2015-12-02 00:00:

数据挖掘:数据(数据对象与属性类型)

一.概述 现实中的数据一般有噪声.数量庞大并且可能来自异种数据源. 数据集由数据对象组成,一个数据对象代表一个实体. 数据对象:又称样本.实例.数据点或对象. 数据对象以数据元组的形式存放在数据库中,数据库的行对应于数据对象,列对应于属性. 属性是一个数据字段,表示数据对象的特征,在文献中,属性.维度(dimension).特征(feature).变量(variance)可以互换的使用. "维",一般用在数据仓库中. "特征",一般用在机器学习中. "变量

redis 系列15 数据对象的(类型检查,内存回收,对象共享)和数据库切换

原文:redis 系列15 数据对象的(类型检查,内存回收,对象共享)和数据库切换 一.  概述 对于前面的五章中,已清楚了数据对象的类型以及命令实现,其实还有一种数据对象为HyperLogLog,以后需要用到再了解.下面再了解类型检查,内存回收,对象共享,对象的空转时长. 1.1   类型检查与命令多态 redis中用于操作键的命令基本上可以分为两种类型,一种是可以对任何的键执行,如:del, expire,rename,type,object 这些命令等,对于这些命令属于多态命令.另一种命令

C#高级编程七十天----dynamic类型

dynamic类型 C#新增了dynamic关键字,正是因为这一个小小的关键字,C#像前迈进了一大步. dynamic是一个类型关键,声明为dynamic的类型与"静态类型"(这里的静态是指编译时确定的类型,例如int,double类型)相比最大的特定它是"动态类型",它会在运行时尝试调用方法,这些方法的存在与否不是编译时期检查的,而是在运行时查找,如果方法存在并且参数正确,会正确调用,否则会抛出异常. 案例: dynamic d = Console.Out; dy

Oracle---常用SQL语法和数据对象

1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……)  SELECT 字段名1, 字段名2, …… FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校

Caffe3——ImageNet数据集创建lmdb类型的数据

Caffe3——ImageNet数据集创建lmdb类型的数据 ImageNet数据集和cifar,mnist数据集最大的不同,就是数据量特别大:单张图片尺寸大,训练样本个数多:面对如此大的数据集,在转换成lmdb文件时:使用了很多新的类型对象. 1,动态扩容的数组“vector”,动态地添加新元素 2,pair类型数据对,用于存储成对的对象,例如存储文件名和对应标签 3,利用opencv中的图像处理函数,来读取和处理大尺寸图像 一:程序开始 由于要向imageNet数据集中设置resize和是否