VsTeXProject.VisualStudio.Project.ProjectNode.Save C# (CSharp) Метод

Save() публичный Метод

public Save ( string fileToBeSaved, int remember, uint formatIndex ) : int
fileToBeSaved string
remember int
formatIndex uint
Результат int
        public virtual int Save(string fileToBeSaved, int remember, uint formatIndex)
        {
            // The file name can be null. Then try to use the Url.
            var tempFileToBeSaved = fileToBeSaved;
            if (string.IsNullOrEmpty(tempFileToBeSaved) && !string.IsNullOrEmpty(Url))
            {
                tempFileToBeSaved = Url;
            }

            if (string.IsNullOrEmpty(tempFileToBeSaved))
            {
                throw new ArgumentException(SR.GetString(SR.InvalidParameter, CultureInfo.CurrentUICulture),
                    "fileToBeSaved");
            }

            var setProjectFileDirtyAfterSave = false;
            if (remember == 0)
            {
                setProjectFileDirtyAfterSave = IsProjectFileDirty;
            }

            // Update the project with the latest flavor data (if needed)
            PersistXMLFragments();

            var result = VSConstants.S_OK;
            var saveAs = true;
            if (NativeMethods.IsSamePath(tempFileToBeSaved, FileName))
            {
                saveAs = false;
            }
            if (!saveAs)
            {
                var fileChanges = new SuspendFileChanges(Site, FileName);
                fileChanges.Suspend();
                try
                {
                    // Ensure the directory exist
                    var saveFolder = Path.GetDirectoryName(tempFileToBeSaved);
                    if (!Directory.Exists(saveFolder))
                        Directory.CreateDirectory(saveFolder);
                    // Save the project
                    buildProject.Save(tempFileToBeSaved);
                    SetProjectFileDirty(false);
                }
                finally
                {
                    fileChanges.Resume();
                }
            }
            else
            {
                result = SaveAs(tempFileToBeSaved);
                if (result != VSConstants.OLE_E_PROMPTSAVECANCELLED)
                {
                    ErrorHandler.ThrowOnFailure(result);
                }
            }

            if (setProjectFileDirtyAfterSave)
            {
                SetProjectFileDirty(true);
            }

            return result;
        }
ProjectNode