/// <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)); } }
/// <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)); } }