本文整理汇总了C#中Microsoft.CodeAnalysis.Solution.AddDocument方法的典型用法代码示例。如果您正苦于以下问题:C# Solution.AddDocument方法的具体用法?C# Solution.AddDocument怎么用?C# Solution.AddDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.Solution
的用法示例。
在下文中一共展示了Solution.AddDocument方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyFileChanges
private Solution ApplyFileChanges(Solution solution, IEnumerable<FileChange> fileChanges, bool applyingChanges)
{
foreach (FileChange fileChange in fileChanges)
{
var oldDocument = fileChange.GetOldDocument();
var updatedDocument = fileChange.GetUpdatedDocument();
bool isAdditionalDoc = fileChange.IsAdditionalDocumentChange;
if (oldDocument == null)
{
// Added document to new solution.
// If unchecked, then remove this added document from new solution.
if (applyingChanges && fileChange.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked)
{
solution = isAdditionalDoc ?
solution.RemoveAdditionalDocument(updatedDocument.Id) :
solution.RemoveDocument(updatedDocument.Id);
}
}
else if (updatedDocument == null)
{
// Removed document from old solution.
// If unchecked, then add back this removed document to new solution.
if (applyingChanges && fileChange.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked)
{
var oldText = oldDocument.GetTextAsync().Result.ToString();
solution = isAdditionalDoc ?
solution.AddAdditionalDocument(oldDocument.Id, oldDocument.Name, oldText, oldDocument.Folders, oldDocument.FilePath) :
solution.AddDocument(oldDocument.Id, oldDocument.Name, oldText, oldDocument.Folders, oldDocument.FilePath);
}
}
else
{
// Changed document.
solution = isAdditionalDoc ?
solution.WithAdditionalDocumentText(updatedDocument.Id, updatedDocument.GetTextAsync().Result) :
solution.WithDocumentText(updatedDocument.Id, updatedDocument.GetTextAsync().Result);
}
}
return solution;
}