JavaScriptEngineSwitcher.ChakraCore.JsRt.JsValue.ConvertToNumber C# (CSharp) Method

ConvertToNumber() public method

Converts a value to Number using regular JavaScript semantics
Requires an active script context.
public ConvertToNumber ( ) : JsValue
return JsValue
		public JsValue ConvertToNumber()
		{
			JsValue numberReference;
			JsErrorHelpers.ThrowIfError(NativeMethods.JsConvertValueToNumber(this, out numberReference));

			return numberReference;
		}

Usage Example

コード例 #1
0
        /// <summary>
        /// Serializes a parsed script to a buffer than can be reused
        /// </summary>
        /// <remarks>
        /// <para>
        /// SerializeScript parses a script and then stores the parsed form of the script in a
        /// runtime-independent format. The serialized script then can be deserialized in any
        /// runtime without requiring the script to be re-parsed.
        /// </para>
        /// <para>
        /// Requires an active script context.
        /// </para>
        /// </remarks>
        /// <param name="script">The script to serialize</param>
        /// <param name="buffer">The buffer to put the serialized script into. Can be null</param>
        /// <returns>The size of the buffer, in bytes, required to hold the serialized script</returns>
        public static ulong SerializeScript(string script, byte[] buffer)
        {
            var         bufferSize = (ulong)buffer.Length;
            JsErrorCode errorCode;

            if (Utils.IsWindows())
            {
                errorCode = NativeMethods.JsSerializeScript(script, buffer, ref bufferSize);
                JsErrorHelpers.ThrowIfError(errorCode);
            }
            else
            {
                JsValue scriptValue = JsValue.FromString(script);
                scriptValue.AddRef();

                JsValue bufferValue;

                try
                {
                    errorCode = NativeMethods.JsSerialize(scriptValue, out bufferValue,
                                                          JsParseScriptAttributes.None);
                    JsErrorHelpers.ThrowIfError(errorCode);
                }
                finally
                {
                    scriptValue.Release();
                }

                JsValue lengthValue = bufferValue.GetProperty("length");
                bufferSize = Convert.ToUInt64(lengthValue.ConvertToNumber().ToDouble());
            }

            return(bufferSize);
        }