예제 #1
0
 /// <summary>
 /// スペック指定のコンストラクタ
 /// プロパティは仕様から取得する
 /// </summary>
 /// <param name="classObject">オブジェクトクラス</param>
 /// <param name="instanceCode"></param>
 public EchoObjectInstance(IEchonetObject classObject, byte instanceCode)
 {
     Spec         = classObject;
     InstanceCode = instanceCode;
     Properties   = new NotifyChangeCollection <EchoObjectInstance, EchoPropertyInstance>(this);
     foreach (var prop in classObject.GetProperties)
     {
         Properties.Add(new EchoPropertyInstance(prop));
     }
     foreach (var prop in classObject.SetProperties)
     {
         Properties.Add(new EchoPropertyInstance(prop));
     }
     foreach (var prop in classObject.AnnoProperties)
     {
         Properties.Add(new EchoPropertyInstance(prop));
     }
 }
예제 #2
0
        /// <summary>
        /// デフォルトコンストラクタ
        /// </summary>
        public EchoObjectInstance(EOJ eoj)
        {
            IEchonetObject classObject = SpecificationUtil.FindClass(eoj.ClassGroupCode, eoj.ClassCode);

            if (classObject == null)
            {
                classObject = SpecificationUtil.GenerateUnknownClass(eoj.ClassGroupCode, eoj.ClassCode);
            }
            Spec         = classObject;
            InstanceCode = eoj.InstanceCode;
            Properties   = new NotifyChangeCollection <EchoObjectInstance, EchoPropertyInstance>(this);
            foreach (var prop in classObject.GetProperties)
            {
                Properties.Add(new EchoPropertyInstance(prop));
            }
            foreach (var prop in classObject.SetProperties)
            {
                Properties.Add(new EchoPropertyInstance(prop));
            }
            foreach (var prop in classObject.AnnoProperties)
            {
                Properties.Add(new EchoPropertyInstance(prop));
            }
        }