func init // initialize instance if(sys.is_linked(1) and sys.is_linked(3)) sys.add_var(this.name, 'dynamic') end // initialize methods this.setfield('fname', fname) sys._do_init('GetBytes') sys._do_init('DoubleToInt64Bits') sys._do_init('Int64BitsToDouble') sys._do_init('ToBoolean') sys._do_init('ToChar') sys._do_init('ToDouble') sys._do_init('ToShort') sys._do_init('ToInt') sys._do_init('ToLong') sys._do_init('ToSingle') sys._do_init('ToUShort') sys._do_init('ToUInt') sys._do_init('ToULong') end func implement(data, f) if(linked("Result")) blk.println(this.codename, ' = ', this.make_result(data, f), ';') event("onResult", this.codename) else event("onResult", this.make_result(data, f)) end end func make_result(data, f) dt = d("Value") if(f == "doGetBytes") return('BitConverter.GetBytes(' + dt + ')') elseif(f == "doDoubleToInt64Bits") return('BitConverter.DoubleToInt64Bits(' + dt + ')') elseif(f == "doInt64BitsToDouble") return('BitConverter.Int64BitsToDouble(' + dt + ')') elseif(f == "doToBoolean") return('BitConverter.ToBoolean(' + dt + ', ' + d("Index") + ')') elseif(f == "doToChar") return('BitConverter.ToChar(' + dt + ', ' + d("Index") + ')') elseif(f == "doToDouble") return('BitConverter.ToDouble(' + dt + ', ' + d("Index") + ')') elseif(f == "doToShort") return('BitConverter.ToInt16(' + dt + ', ' + d("Index") + ')') elseif(f == "doToInt") return('BitConverter.ToInt32(' + dt + ', ' + d("Index") + ')') elseif(f == "doToLong") return('BitConverter.ToInt64(' + dt + ', ' + d("Index") + ')') elseif(f == "doToSingle") return('BitConverter.ToSingle(' + dt + ', ' + d("Index") + ')') elseif(f == "doToUShort") return('BitConverter.ToUInt16(' + dt + ', ' + d("Index") + ')') elseif(f == "doToUInt") return('BitConverter.ToUInt32(' + dt + ', ' + d("Index") + ')') elseif(f == "doToULong") return('BitConverter.ToUInt64(' + dt + ', ' + d("Index") + ')') end end func Result return(this.codename) end func IsLittleEndian return('BitConverter.IsLittleEndian') end