예제 #1
0
 public bool Equals(ITagRWState other)
 {
     return(other != null &&
            ((NVS.IsNullOrEmpty() && other.NVS.IsNullOrEmpty()) || NVS.IsEqualTo(other.NVS, compareReadOnly: false)) &&
            ReadTagIDActionInfo.Equals(other.ReadTagIDActionInfo) &&
            ReadPagesActionInfo.Equals(other.ReadPagesActionInfo) &&
            WritePagesActionInfo.Equals(other.WritePagesActionInfo) &&
            CombinedActionInfo.Equals(other.CombinedActionInfo) &&
            PartBaseState.Equals(other.PartBaseState, compareTimestamps: false)
            );
 }
예제 #2
0
        public TagRWState SetFrom(ITagRWState other, bool asReadOnly = false)
        {
            NVS = (asReadOnly) ? other.NVS.ConvertToReadOnly(mapNullToEmpty: false) : (other.NVS.IsNullOrEmpty() ? null : new NamedValueSet(other.NVS));

            ReadTagIDActionInfo  = new TagActionInfo(other.ReadTagIDActionInfo);
            ReadPagesActionInfo  = new TagActionInfo(other.ReadPagesActionInfo);
            WritePagesActionInfo = new TagActionInfo(other.WritePagesActionInfo);
            CombinedActionInfo   = new TagActionInfo(other.CombinedActionInfo);

            PartBaseState = new BaseState(other.PartBaseState);

            return(this);
        }
예제 #3
0
 public bool IsEqualTo(ITagRWState other)
 {
     return(Equals(other));
 }
예제 #4
0
 public TagRWState(ITagRWState rhs)
 {
     SetFrom(rhs);
 }