本文整理汇总了C#中SnapshotPoint.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# SnapshotPoint.ToString方法的具体用法?C# SnapshotPoint.ToString怎么用?C# SnapshotPoint.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SnapshotPoint
的用法示例。
在下文中一共展示了SnapshotPoint.ToString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TranslateIndex
internal static SourceLocation TranslateIndex(int index, ITextSnapshot fromSnapshot, ModuleAnalysis toAnalysisSnapshot) {
SnapshotCookie snapshotCookie;
// TODO: buffers differ in the REPL window case, in the future we should handle this better
if (toAnalysisSnapshot != null &&
fromSnapshot != null &&
(snapshotCookie = toAnalysisSnapshot.AnalysisCookie as SnapshotCookie) != null &&
snapshotCookie.Snapshot != null &&
snapshotCookie.Snapshot.TextBuffer == fromSnapshot.TextBuffer) {
var fromPoint = new SnapshotPoint(fromSnapshot, index);
var fromLine = fromPoint.GetContainingLine();
var toPoint = fromPoint.TranslateTo(snapshotCookie.Snapshot, PointTrackingMode.Negative);
var toLine = toPoint.GetContainingLine();
Debug.Assert(fromLine != null, "Unable to get 'from' line from " + fromPoint.ToString());
Debug.Assert(toLine != null, "Unable to get 'to' line from " + toPoint.ToString());
return new SourceLocation(
toPoint.Position,
(toLine != null ? toLine.LineNumber : fromLine != null ? fromLine.LineNumber : 0) + 1,
index - (fromLine != null ? fromLine.Start.Position : 0) + 1
);
} else if (fromSnapshot != null) {
var fromPoint = new SnapshotPoint(fromSnapshot, index);
var fromLine = fromPoint.GetContainingLine();
return new SourceLocation(
index,
fromLine.LineNumber + 1,
index - fromLine.Start.Position + 1
);
} else {
return new SourceLocation(index, 1, 1);
}
}