【C# ORD中国版】有关CimDataObject对象无法添加到模型的问题

我在测试官方CimSDK中的示例项目时,其中的CIMNETExample这个项目中,当执行CIMNETExample Create BridgeProject键入命令想要放置一个数据类型的Cim对象时,发现对象AddToModel后,虽然返回0,但无法添加到model中。

另外我仿照示例,自己写了一个继承于CimDataObject的类,代码如下:

class CimReferenceRecorder : CimDataObject
    {
        //在类中定义并初始化一个CimClassDesc类型的静态变量
        private static readonly CimClassDesc t_sDesc = new CimClassDesc(typeof(CimReferenceRecorder), CimDataObject.Desc(), true);

        //重实现用于获取类关联Schema名称的虚属性
        public override string SchemaName => "CimTrafficSignCore";

        //重实现用于获取类关联EC类名称的虚属性
        public override string ECClassName => "CimReferenceRecorder";


        #region 所有的ECProperty
        internal string[] CimReferences
        {
            get => (string[])this["CimReferences"];
            set => this["CimReferences"] = value;
        }//Cim对象关联记录
        #endregion

        public CimReferenceRecorder() { }
        public CimReferenceRecorder(DgnModelRef modelRef)
        {
            CreateElement(modelRef);
            //InitProp();
        }

        /// <summary>
        /// 重新声明一个新的用于返回类描述符的静态方法
        /// </summary>
        /// <returns></returns>
        public static new CimClassDesc Desc() => t_sDesc;

        /// <summary>
        /// 重实现用于获取多态类描述符的虚方法
        /// </summary>
        /// <returns></returns>
        public override CimClassDesc GetDesc() => Desc();

        /// <summary>
        /// 重新声明一个新的用于注册类的静态方法
        /// </summary>
        /// <returns></returns>
        public static new StatusInt DoRegister() => CimClassFactory.Instance.DoRegister(Desc());

        /// <summary>
        /// 重新声明一个新的用于注销类的静态方法
        /// </summary>
        /// <returns></returns>
        public static new StatusInt DoUnregister() => CimClassFactory.Instance.DoUnregister(Desc());
    }

然后我创建了这个对象,并执行了AddToModel,且返回结果也是Success,但是当我从模型采用FindElementById的方法想拿到这个元素时,返回的却是null。代码如下

但得到的变量结果如下:

可以看到,即使我又把cim对象的Element再次AddToModel后,依旧无法从模型中拿到该元素。

请问原因何在?

Parents Reply Children