예제 #1
0
        public override IDocument OpenDocument(IProjectItem projectItem, IProject project, bool isReadOnly)
        {
            MemoryStream memoryStream = new MemoryStream();
            Encoding     encoding     = Encoding.UTF8;

            using (Stream stream = projectItem.DocumentReference.GetStream(FileAccess.Read))
            {
                if (stream == null)
                {
                    throw new FileNotFoundException(string.Format((IFormatProvider)CultureInfo.CurrentCulture, ExceptionStringTable.DocumentFileNotFound, new object[1]
                    {
                        (object)projectItem.DocumentReference.Path
                    }));
                }
                byte[] numArray = new byte[(int)stream.Length];
                stream.Read(numArray, 0, numArray.Length);
                encoding = DocumentReference.DetermineDocumentEncoding(numArray);
                memoryStream.Write(numArray, 0, numArray.Length);
                memoryStream.Position = 0L;
            }
            return(this.CreateDocument(projectItem, project, (Stream)memoryStream, encoding, isReadOnly));
        }