示例#1
0
        /// <summary>
        /// Write XSig data gathered from an IXSigStateResolver to the stream.
        /// </summary>
        /// <param name="xSigSerialization">IXSigStateResolver object.</param>
        /// <param name="offset">Index offset for each XSigToken.</param>
        public void WriteXSigData(IXSigSerialization xSigSerialization, int offset)
        {
            if (xSigSerialization == null)
            {
                throw new ArgumentNullException("xSigSerialization");
            }

            var tokens = xSigSerialization.Serialize();

            WriteXSigData(tokens, offset);
        }
示例#2
0
        /// <summary>
        /// Get bytes for an IXSigStateResolver object, with a specified offset.
        /// </summary>
        /// <param name="xSigSerialization">XSig state resolver.</param>
        /// <param name="offset">Offset to which the data will be aligned.</param>
        /// <returns>Bytes in XSig format for each token within the state representation.</returns>
        public static byte[] GetBytes(IXSigSerialization xSigSerialization, int offset)
        {
            var tokens = xSigSerialization.Serialize();

            if (tokens == null)
            {
                return(new byte[0]);
            }
            using (var memoryStream = new MemoryStream())
            {
                using (var tokenWriter = new XSigTokenStreamWriter(memoryStream))
                    tokenWriter.WriteXSigData(xSigSerialization, offset);

                return(memoryStream.ToArray());
            }
        }
示例#3
0
 /// <summary>
 /// Get bytes for an IXSigStateResolver object.
 /// </summary>
 /// <param name="xSigSerialization">XSig state resolver.</param>
 /// <returns>Bytes in XSig format for each token within the state representation.</returns>
 public static byte[] GetBytes(IXSigSerialization xSigSerialization)
 {
     return(GetBytes(xSigSerialization, 0));
 }
示例#4
0
 /// <summary>
 /// Write XSig data gathered from an IXSigStateResolver to the stream.
 /// </summary>
 /// <param name="xSigSerialization">IXSigStateResolver object.</param>
 public void WriteXSigData(IXSigSerialization xSigSerialization)
 {
     WriteXSigData(xSigSerialization, 0);
 }