当前位置: 首页>>代码示例>>C#>>正文


C# LocalVariableDeclaration.GetVariableDeclaration方法代码示例

本文整理汇总了C#中ICSharpCode.NRefactory.Ast.LocalVariableDeclaration.GetVariableDeclaration方法的典型用法代码示例。如果您正苦于以下问题:C# LocalVariableDeclaration.GetVariableDeclaration方法的具体用法?C# LocalVariableDeclaration.GetVariableDeclaration怎么用?C# LocalVariableDeclaration.GetVariableDeclaration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICSharpCode.NRefactory.Ast.LocalVariableDeclaration的用法示例。


在下文中一共展示了LocalVariableDeclaration.GetVariableDeclaration方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: VisitLocalVariableDeclaration

			public override object VisitLocalVariableDeclaration (LocalVariableDeclaration localVariableDeclaration, object data)
			{
				//				Console.WriteLine ("LocalVariableDeclaration: " + localVariableDeclaration.StartLocation.ToString () + " - " + localVariableDeclaration.EndLocation.ToString ());
				localVariableDeclaration.TypeReference.AcceptVisitor (this, data);
				foreach (VariableDeclaration o in localVariableDeclaration.Variables) {
					if (o.Name == ((IntegrateTemporaryVariableVisitorOptions)data).GetName ()) {
						IntegrateTemporaryVariableVisitorOptions options = (IntegrateTemporaryVariableVisitorOptions)data;
						options.Initializer = localVariableDeclaration.GetVariableDeclaration(((LocalVariable)options.Options.SelectedItem).Name).Initializer;
						if (localVariableDeclaration.Variables.Count == 1) {
							TextReplaceChange change = new TextReplaceChange ();
							change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
							change.FileName = options.Options.Document.FileName;

							change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
							int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);

							change.RemovedChars = end - change.Offset;
							change.InsertedText = "";
							((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
						} else {
							TextReplaceChange change = new TextReplaceChange ();
							change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
							change.FileName = options.Options.Document.FileName;

							change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
							int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);

							change.RemovedChars = end - change.Offset;
							localVariableDeclaration.Variables.Remove (localVariableDeclaration.GetVariableDeclaration (options.GetName ()));
							INRefactoryASTProvider provider = options.Options.GetASTProvider ();
							change.InsertedText = options.Options.GetWhitespaces (change.Offset) + provider.OutputNode (options.Options.Dom, localVariableDeclaration);
							((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
						}
					} else {
						o.AcceptVisitor (this, data);
					}
				}
				return null;
			}
开发者ID:Tak,项目名称:monodevelop-novell,代码行数:39,代码来源:IntegrateTemporaryVariableRefactoring.cs

示例2: VisitLocalVariableDeclaration

			public override object VisitLocalVariableDeclaration (LocalVariableDeclaration localVariableDeclaration, object data)
			{
				//				Console.WriteLine ("LocalVariableDeclaration: " + localVariableDeclaration.StartLocation.ToString () + " - " + localVariableDeclaration.EndLocation.ToString ());
				localVariableDeclaration.TypeReference.AcceptVisitor (this, data);
				foreach (VariableDeclaration o in localVariableDeclaration.Variables) {
					if (o.Name == ((IntegrateTemporaryVariableVisitorOptions)data).GetName ()) {
						IntegrateTemporaryVariableVisitorOptions options = (IntegrateTemporaryVariableVisitorOptions)data;
						options.Initializer = localVariableDeclaration.GetVariableDeclaration(((LocalVariable)options.Options.SelectedItem).Name).Initializer;
						if (localVariableDeclaration.Variables.Count == 1) {
							TextReplaceChange change = new TextReplaceChange ();
							change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
							change.FileName = options.Options.Document.FileName;
							int lineNumber = localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line;
							change.Offset = options.Options.Document.Editor.Document.LocationToOffset (lineNumber, localVariableDeclaration.StartLocation.Column);
							int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);
							change.RemovedChars = end - change.Offset;
							// check if whole line can be removed.
							var line = options.Options.Document.Editor.GetLine (lineNumber);
							if (line.GetIndentation (options.Options.Document.Editor.Document).Length == localVariableDeclaration.StartLocation.Column - 1) {
								bool isEmpty = true;
								for (int i = end; i < line.EndOffset; i++) {
									if (!char.IsWhiteSpace (options.Options.Document.Editor.GetCharAt (i))) {
										isEmpty = false;
										break;
									}
								}
								if (isEmpty) {
									change.Offset = line.Offset;
									change.RemovedChars = line.Length;
								}
							}
							change.InsertedText = "";
							((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
						} else {
							TextReplaceChange change = new TextReplaceChange ();
							change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
							change.FileName = options.Options.Document.FileName;

							change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
							int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);

							change.RemovedChars = end - change.Offset;
							localVariableDeclaration.Variables.Remove (localVariableDeclaration.GetVariableDeclaration (options.GetName ()));
							INRefactoryASTProvider provider = options.Options.GetASTProvider ();
							change.InsertedText = options.Options.GetWhitespaces (change.Offset) + provider.OutputNode (options.Options.Dom, localVariableDeclaration);
							((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
						}
					} else {
						o.AcceptVisitor (this, data);
					}
				}
				return null;
			}
开发者ID:raufbutt,项目名称:monodevelop-old,代码行数:53,代码来源:IntegrateTemporaryVariableRefactoring.cs


注:本文中的ICSharpCode.NRefactory.Ast.LocalVariableDeclaration.GetVariableDeclaration方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。