added support for Long, DecodeOne()

also made style/implementation changes to match C# style/guidance