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


C# RefactoringContext.ResolveMember方法代码示例

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


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

示例1: ScanGetter

		internal static IField ScanGetter (RefactoringContext context, PropertyDeclaration propertyDeclaration)
		{
			if (propertyDeclaration.Getter.Body.Statements.Count != 1)
				return null;
			var returnStatement = propertyDeclaration.Getter.Body.Statements.First () as ReturnStatement;
			
			var result = context.ResolveMember (returnStatement.Expression);
			if (result == null)
				return null;
			return result.FirstOrDefault () as IField;
		}
开发者ID:hduregger,项目名称:monodevelop,代码行数:11,代码来源:RemoveBackingStore.cs

示例2: GuessType

		AstType GuessType (RefactoringContext context, IdentifierExpression identifier)
		{
			var type = CreateField.GuessType (context, identifier);
			if (type != null)
				return type;
			
			if (identifier != null && (identifier.Parent is InvocationExpression || identifier.Parent.Parent is InvocationExpression)) {
				var invocation = (identifier.Parent as InvocationExpression) ?? (identifier.Parent.Parent as InvocationExpression);
				var result = context.ResolveMember (invocation).FirstOrDefault () as IMethod;
				if (result == null)
					return null;
				int i = 0;
				foreach (var arg in invocation.Arguments) {
					if (arg.Contains (identifier.StartLocation))
						break;
					i++;
				}
				if (result.Parameters.Count < i)
					return null;
				return context.CreateShortType (result.Parameters[i].Type.Resolve (context.TypeResolveContext));
			}
			return null;
		}
开发者ID:hduregger,项目名称:monodevelop,代码行数:23,代码来源:CreateLocalVariable.cs

示例3: ScanSetter

		internal static IField ScanSetter (RefactoringContext context, PropertyDeclaration propertyDeclaration)
		{
			if (propertyDeclaration.Setter.Body.Statements.Count != 1)
				return null;
			var setAssignment = propertyDeclaration.Setter.Body.Statements.First () as ExpressionStatement;
			var assignment = setAssignment != null ? setAssignment.Expression as AssignmentExpression : null;
			if (assignment == null || assignment.Operator != AssignmentOperatorType.Assign)
				return null;
			var result = context.ResolveMember (assignment.Left);
			if (result == null)
				return null;
			return result.FirstOrDefault () as IField;
		}
开发者ID:hduregger,项目名称:monodevelop,代码行数:13,代码来源:RemoveBackingStore.cs


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