Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
193e0076
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
193e0076
编写于
3月 20, 2020
作者:
M
Manish Vasani
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move UseNullPropagation analyzer/fixers/tests to shared layer
上级
9478000c
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
30 addition
and
15 deletion
+30
-15
src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems
src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems
+1
-0
src/Analyzers/CSharp/Analyzers/UseNullPropagation/CSharpUseNullPropagationDiagnosticAnalyzer.cs
...Propagation/CSharpUseNullPropagationDiagnosticAnalyzer.cs
+4
-2
src/Analyzers/CSharp/CodeFixes/CSharpCodeFixes.projitems
src/Analyzers/CSharp/CodeFixes/CSharpCodeFixes.projitems
+1
-0
src/Analyzers/CSharp/CodeFixes/UseNullPropagation/CSharpUseNullPropagationCodeFixProvider.cs
...ullPropagation/CSharpUseNullPropagationCodeFixProvider.cs
+0
-0
src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems
...nalyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems
+1
-0
src/Analyzers/CSharp/Tests/UseNullPropagation/UseNullPropagationTests.cs
...Sharp/Tests/UseNullPropagation/UseNullPropagationTests.cs
+0
-0
src/Analyzers/Core/Analyzers/Analyzers.projitems
src/Analyzers/Core/Analyzers/Analyzers.projitems
+1
-0
src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
...opagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
+8
-4
src/Analyzers/Core/CodeFixes/CodeFixes.projitems
src/Analyzers/Core/CodeFixes/CodeFixes.projitems
+1
-0
src/Analyzers/Core/CodeFixes/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs
...lPropagation/AbstractUseNullPropagationCodeFixProvider.cs
+7
-7
src/Analyzers/VisualBasic/Analyzers/UseNullPropagation/VisualBasicUseNullPropagationDiagnosticAnalyzer.vb
...gation/VisualBasicUseNullPropagationDiagnosticAnalyzer.vb
+3
-2
src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems
...zers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems
+1
-0
src/Analyzers/VisualBasic/CodeFixes/UseNullPropagation/VisualBasicUseNullPropagationCodeFixProvider.vb
...opagation/VisualBasicUseNullPropagationCodeFixProvider.vb
+0
-0
src/Analyzers/VisualBasic/CodeFixes/VisualBasicCodeFixes.projitems
...zers/VisualBasic/CodeFixes/VisualBasicCodeFixes.projitems
+1
-0
src/Analyzers/VisualBasic/Tests/UseNullPropagation/UseNullPropagationTests.vb
...Basic/Tests/UseNullPropagation/UseNullPropagationTests.vb
+0
-0
src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems
...isualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems
+1
-0
未找到文件。
src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems
浏览文件 @
193e0076
...
...
@@ -47,6 +47,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\CSharpTypeStyleDiagnosticAnalyzerBase.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\CSharpUseExplicitTypeDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\CSharpUseImplicitTypeDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs"
/>
...
...
src/
Features/CSharp/Portable
/UseNullPropagation/CSharpUseNullPropagationDiagnosticAnalyzer.cs
→
src/
Analyzers/CSharp/Analyzers
/UseNullPropagation/CSharpUseNullPropagationDiagnosticAnalyzer.cs
浏览文件 @
193e0076
...
...
@@ -5,6 +5,8 @@
#
nullable
enable
using
System.Diagnostics.CodeAnalysis
;
using
System.Threading
;
using
Microsoft.CodeAnalysis.CSharp.Extensions
;
using
Microsoft.CodeAnalysis.CSharp.LanguageServices
;
using
Microsoft.CodeAnalysis.CSharp.Syntax
;
using
Microsoft.CodeAnalysis.Diagnostics
;
...
...
@@ -31,8 +33,8 @@ protected override bool ShouldAnalyze(ParseOptions options)
protected
override
ISyntaxFacts
GetSyntaxFacts
()
=>
CSharpSyntaxFacts
.
Instance
;
protected
override
ISemanticFactsService
GetSemanticFactsService
(
)
=>
CSharpSemanticFactsService
.
Instance
;
protected
override
bool
IsInExpressionTree
(
SemanticModel
semanticModel
,
SyntaxNode
node
,
INamedTypeSymbol
?
expressionTypeOpt
,
CancellationToken
cancellationToken
)
=>
node
.
IsInExpressionTree
(
semanticModel
,
expressionTypeOpt
,
cancellationToken
)
;
protected
override
bool
TryAnalyzePatternCondition
(
ISyntaxFacts
syntaxFacts
,
SyntaxNode
conditionNode
,
...
...
src/Analyzers/CSharp/CodeFixes/CSharpCodeFixes.projitems
浏览文件 @
193e0076
...
...
@@ -31,6 +31,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseExpressionBody\UseExpressionBodyCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\UseImplicitTypeCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\CSharpUseObjectInitializerCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\UseInitializerHelpers.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs"
/>
...
...
src/
Features/CSharp/Portable
/UseNullPropagation/CSharpUseNullPropagationCodeFixProvider.cs
→
src/
Analyzers/CSharp/CodeFixes
/UseNullPropagation/CSharpUseNullPropagationCodeFixProvider.cs
浏览文件 @
193e0076
文件已移动
src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems
浏览文件 @
193e0076
...
...
@@ -49,6 +49,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\UseExplicitTypeTests_FixAllTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\UseImplicitTypeTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseImplicitOrExplicitType\UseImplicitTypeTests_FixAllTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\UseNullPropagationTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\UseObjectInitializerTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UsePatternMatching\CSharpAsAndNullCheckTests.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UsePatternMatching\CSharpAsAndNullCheckTests_FixAllTests.cs"
/>
...
...
src/
EditorFeatures/CSharpTest
/UseNullPropagation/UseNullPropagationTests.cs
→
src/
Analyzers/CSharp/Tests
/UseNullPropagation/UseNullPropagationTests.cs
浏览文件 @
193e0076
文件已移动
src/Analyzers/Core/Analyzers/Analyzers.projitems
浏览文件 @
193e0076
...
...
@@ -47,6 +47,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\ObjectCreationExpressionAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\AbstractUseObjectInitializerDiagnosticAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\ObjectCreationExpressionAnalyzer.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs"
/>
...
...
src/
Features/Core/Portable
/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
→
src/
Analyzers/Core/Analyzers
/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
浏览文件 @
193e0076
...
...
@@ -10,6 +10,11 @@
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
System.Threading
;
#if CODE_STYLE
using
Microsoft.CodeAnalysis.Internal.Options
;
#endif
namespace
Microsoft.CodeAnalysis.UseNullPropagation
{
...
...
@@ -39,7 +44,7 @@ internal abstract class AbstractUseNullPropagationDiagnosticAnalyzer<
protected
AbstractUseNullPropagationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseNullPropagationDiagnosticId
,
CodeStyleOptions
.
PreferNullPropagation
,
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_null_propagation
),
FeaturesResources
.
ResourceManager
,
typeof
(
Feature
sResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_null_propagation
),
AnalyzersResources
.
ResourceManager
,
typeof
(
Analyzer
sResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Null_check_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
{
}
...
...
@@ -50,7 +55,7 @@ public override DiagnosticAnalyzerCategory GetAnalyzerCategory()
protected
abstract
bool
ShouldAnalyze
(
ParseOptions
options
);
protected
abstract
ISyntaxFacts
GetSyntaxFacts
();
protected
abstract
ISemanticFactsService
GetSemanticFactsService
(
);
protected
abstract
bool
IsInExpressionTree
(
SemanticModel
semanticModel
,
SyntaxNode
node
,
INamedTypeSymbol
?
expressionTypeOpt
,
CancellationToken
cancellationToken
);
protected
abstract
bool
TryAnalyzePatternCondition
(
ISyntaxFacts
syntaxFacts
,
SyntaxNode
conditionNode
,
...
...
@@ -157,8 +162,7 @@ protected override void InitializeWorker(AnalysisContext context)
// converting to c?.nullable doesn't affect the type
}
var
semanticFacts
=
GetSemanticFactsService
();
if
(
semanticFacts
.
IsInExpressionTree
(
semanticModel
,
conditionNode
,
expressionTypeOpt
,
context
.
CancellationToken
))
if
(
IsInExpressionTree
(
semanticModel
,
conditionNode
,
expressionTypeOpt
,
context
.
CancellationToken
))
{
return
;
}
...
...
src/Analyzers/Core/CodeFixes/CodeFixes.projitems
浏览文件 @
193e0076
...
...
@@ -29,6 +29,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\UseCoalesceExpressionCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\UseCoalesceExpressionForNullableCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\AbstractUseCollectionInitializerCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\AbstractUseNullPropagationCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\AbstractUseObjectInitializerCodeFixProvider.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseThrowExpression\UseThrowExpressionCodeFixProvider.cs"
/>
</ItemGroup>
...
...
src/
Features/Core/Portable
/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs
→
src/
Analyzers/Core/CodeFixes
/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs
浏览文件 @
193e0076
...
...
@@ -65,7 +65,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
{
var
syntaxFacts
=
document
.
GetRequiredLanguageService
<
ISyntaxFactsService
>();
var
semanticModel
=
await
document
.
GetRequiredSemanticModelAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
var
generator
=
editor
.
Generator
;
var
generator
=
document
.
GetRequiredLanguageService
<
SyntaxGeneratorInternal
>()
;
var
root
=
editor
.
OriginalRoot
;
foreach
(
var
diagnostic
in
diagnostics
)
...
...
@@ -78,7 +78,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
var
whenPartIsNullable
=
diagnostic
.
Properties
.
ContainsKey
(
UseNullPropagationConstants
.
WhenPartIsNullable
);
editor
.
ReplaceNode
(
conditionalExpression
,
(
c
,
g
)
=>
(
c
,
_
)
=>
{
syntaxFacts
.
GetPartsOfConditionalExpression
(
c
,
out
var
currentCondition
,
out
var
currentWhenTrue
,
out
var
currentWhenFalse
);
...
...
@@ -95,7 +95,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
}
var
newNode
=
CreateConditionalAccessExpression
(
syntaxFacts
,
g
,
whenPartIsNullable
,
currentWhenPartToCheck
,
match
,
c
);
syntaxFacts
,
g
enerator
,
whenPartIsNullable
,
currentWhenPartToCheck
,
match
,
c
);
newNode
=
newNode
.
WithTriviaFrom
(
c
);
return
newNode
;
...
...
@@ -104,7 +104,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
}
private
SyntaxNode
CreateConditionalAccessExpression
(
ISyntaxFactsService
syntaxFacts
,
SyntaxGenerator
generator
,
bool
whenPartIsNullable
,
ISyntaxFactsService
syntaxFacts
,
SyntaxGenerator
Internal
generator
,
bool
whenPartIsNullable
,
SyntaxNode
whenPart
,
SyntaxNode
match
,
SyntaxNode
currentConditional
)
{
if
(
whenPartIsNullable
)
...
...
@@ -134,7 +134,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
}
private
SyntaxNode
CreateConditionalAccessExpression
(
ISyntaxFactsService
syntaxFacts
,
SyntaxGenerator
generator
,
ISyntaxFactsService
syntaxFacts
,
SyntaxGenerator
Internal
generator
,
SyntaxNode
whenPart
,
SyntaxNode
match
,
SyntaxNode
matchParent
,
SyntaxNode
currentConditional
)
{
if
(
matchParent
is
TMemberAccessExpression
memberAccess
)
...
...
@@ -157,10 +157,10 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
return
currentConditional
;
}
private
class
MyCodeAction
:
C
odeAction
.
DocumentChangeAction
private
class
MyCodeAction
:
C
ustomCodeActions
.
DocumentChangeAction
{
public
MyCodeAction
(
Func
<
CancellationToken
,
Task
<
Document
>>
createChangedDocument
)
:
base
(
Feature
sResources
.
Use_null_propagation
,
createChangedDocument
)
:
base
(
Analyzer
sResources
.
Use_null_propagation
,
createChangedDocument
)
{
}
}
...
...
src/
Features/VisualBasic/Portable
/UseNullPropagation/VisualBasicUseNullPropagationDiagnosticAnalyzer.vb
→
src/
Analyzers/VisualBasic/Analyzers
/UseNullPropagation/VisualBasicUseNullPropagationDiagnosticAnalyzer.vb
浏览文件 @
193e0076
...
...
@@ -2,6 +2,7 @@
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports
System.Threading
Imports
Microsoft.CodeAnalysis.Diagnostics
Imports
Microsoft.CodeAnalysis.LanguageServices
Imports
Microsoft.CodeAnalysis.UseNullPropagation
...
...
@@ -29,8 +30,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UseNullPropagation
Return
VisualBasicSyntaxFacts
.
Instance
End
Function
Protected
Overrides
Function
GetSemanticFactsService
()
As
ISemanticFactsService
Return
VisualBasicSemanticFactsService
.
Instance
Protected
Overrides
Function
IsInExpressionTree
(
semanticModel
As
SemanticModel
,
node
As
SyntaxNode
,
expressionTypeOpt
As
INamedTypeSymbol
,
cancellationToken
As
CancellationToken
)
As
Boolean
Return
node
.
IsInExpressionTree
(
semanticModel
,
expressionTypeOpt
,
cancellationToken
)
End
Function
Protected
Overrides
Function
TryAnalyzePatternCondition
(
syntaxFacts
As
ISyntaxFacts
,
conditionNode
As
SyntaxNode
,
ByRef
conditionPartToCheck
As
SyntaxNode
,
ByRef
isEquals
As
Boolean
)
As
Boolean
...
...
src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems
浏览文件 @
193e0076
...
...
@@ -28,6 +28,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\VisualBasicUseCoalesceExpressionDiagnosticAnalyzer.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\VisualBasicUseCollectionInitializerDiagnosticAnalyzer.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\VisualBasicUseNullPropagationDiagnosticAnalyzer.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\VisualBasicUseObjectInitializerDiagnosticAnalyzer.vb"
/>
</ItemGroup>
</Project>
\ No newline at end of file
src/
Features/VisualBasic/Portable
/UseNullPropagation/VisualBasicUseNullPropagationCodeFixProvider.vb
→
src/
Analyzers/VisualBasic/CodeFixes
/UseNullPropagation/VisualBasicUseNullPropagationCodeFixProvider.vb
浏览文件 @
193e0076
文件已移动
src/Analyzers/VisualBasic/CodeFixes/VisualBasicCodeFixes.projitems
浏览文件 @
193e0076
...
...
@@ -24,6 +24,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)RemoveUnusedMembers\VisualBasicRemoveUnusedMembersCodeFixProvider.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\VisualBasicRemoveUnusedValuesCodeFixProvider.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\VisualBasicUseCollectionInitializerCodeFixProvider.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\VisualBasicUseNullPropagationCodeFixProvider.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\UseInitializerHelpers.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\VisualBasicUseObjectInitializerCodeFixProvider.vb"
/>
</ItemGroup>
...
...
src/
EditorFeatures/VisualBasicTest
/UseNullPropagation/UseNullPropagationTests.vb
→
src/
Analyzers/VisualBasic/Tests
/UseNullPropagation/UseNullPropagationTests.vb
浏览文件 @
193e0076
文件已移动
src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems
浏览文件 @
193e0076
...
...
@@ -30,6 +30,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\UseCoalesceExpressionForNullableTests.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCoalesceExpression\UseCoalesceExpressionTests.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseCollectionInitializer\UseCollectionInitializerTests.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseNullPropagation\UseNullPropagationTests.vb"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)UseObjectInitializer\UseObjectInitializerTests.vb"
/>
</ItemGroup>
</Project>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录