public multiChannelCurve(CR2WFile cr2w, CVariable parent, string name) : base(cr2w, parent, name)
 {
     //NumChannels = new CUInt32(cr2w, this, nameof(NumChannels));
     InterPolationType = new CEnum <Enums.EInterPolationType>(cr2w, this, nameof(InterPolationType));
     LinkType          = new CEnum <Enums.EChannelLinkType>(cr2w, this, nameof(LinkType));
     Alignment         = new CUInt32(cr2w, this, nameof(Alignment));
     Data = new CByteArray(cr2w, this, nameof(Data));
 }
        public override CVariable SetValue(object val)
        {
            this.Value = val switch
            {
                uint o => o,
                string s => uint.Parse(s),
                CUInt32 v => v.Value,
                _ => this.Value
            };

            return(this);
        }