提交 fdead8c9 编写于 作者: C CyrusNajmabadi 提交者: GitHub

Merge pull request #15514 from CyrusNajmabadi/qualityMemberAccess

Do not qualify static methods in delegate creations.
......@@ -983,5 +983,57 @@ void M()
}",
CodeStyleOptions.QualifyPropertyAccess, NotificationOption.Error);
}
[WorkItem(15325, "https://github.com/dotnet/roslyn/issues/15325")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsQualifyMemberAccess)]
public async Task QualifyInstanceMethodInDelegateCreation()
{
await TestAsyncWithOption(
@"using System;
class A
{
int Function(int x) => x + x;
void Error()
{
var func = new Func<int, int>([|Function|]);
func(1);
}
}",
@"using System;
class A
{
int Function(int x) => x + x;
void Error()
{
var func = new Func<int, int>(this.Function);
func(1);
}
}",
CodeStyleOptions.QualifyMethodAccess);
}
[WorkItem(15325, "https://github.com/dotnet/roslyn/issues/15325")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsQualifyMemberAccess)]
public async Task DoNotQualifyStaticMethodInDelegateCreation()
{
await TestMissingAsyncWithOption(
@"using System;
class A
{
static int Function(int x) => x + x;
void Error()
{
var func = new Func<int, int>([|Function|]);
func(1);
}
}",
CodeStyleOptions.QualifyMethodAccess);
}
}
}
\ No newline at end of file
......@@ -66,8 +66,10 @@ private void AnalyzeOperation(OperationAnalysisContext context)
return;
}
// if we can't find a member then we can't do anything
if (memberReference.Member == null)
// if we can't find a member then we can't do anything. Also, we shouldn't qualify
// accesses to static members.
if (memberReference.Member == null ||
memberReference.Member.IsStatic)
{
return;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册