在CIM自定义实体上设置EC数据,实际上就是调用SetValue/SetValues/SetArray函数。这些函数的功能为:
SetValue: 此函数用于将指定的值设置到EC属性中指定的EC Property上。
对于C++而言,这个函数仅支持设置单值数据项,而且它实际上是由一组重载的函数组成,重载函数的区别就是所支持的数据类型不同,所以在使用时必须指定正确的数据类型,这对于使用立即值的调用而言非常重要。比如: 实际调用时传递3、0、3LL是完全不同的,系统会分别将其识别为int、double、int64,继而调用对应版本的SetValue;
对于C#而言,它同时支持设置单值和多值,在传递单个立即值时同样需要严格控制字面数据类型的正确性,在传递多值时,必须使用任何基于System.Collections.Generic.IEnumerable<T>派生的类作为容器来容纳要传递的多值; 此外,系统还提供了[]操作符以简化对SetValue/GetValue的调用。
SetValues: 此函数用于将指定字典中的值设置到EC实例中名称相匹配的EC属性上。此方法的使用与SetValue基本相同,主要区别在于:
SetValues面向的是整个EC实例,而不是特定的EC属性;
SetValues仅支持设置内置类型的单值属性,不支持自定义类型以及数组类型;
SetArray: 此函数为C++专用接口,仅用于设置元素类型为基本类型的数组类型EC属性。