Skip to content

Commit 4bd23d6

Browse files
Chris Martinezcommonsensesoftware
authored andcommitted
Extract type into separate file
1 parent 42b0d53 commit 4bd23d6

File tree

2 files changed

+50
-41
lines changed

2 files changed

+50
-41
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
namespace Microsoft.AspNetCore.Mvc.Routing
2+
{
3+
using Microsoft.AspNet.OData;
4+
using Microsoft.AspNetCore.Mvc.Abstractions;
5+
using System.Collections.Generic;
6+
using System.Diagnostics;
7+
using System.Diagnostics.Contracts;
8+
using static Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource;
9+
10+
[DebuggerDisplay( "{Action.DisplayName,nq}" )]
11+
sealed class ActionCandidate
12+
{
13+
internal ActionCandidate( ActionDescriptor action )
14+
{
15+
Contract.Requires( action != null );
16+
17+
TotalParameterCount = action.Parameters.Count;
18+
19+
var filteredParameters = new List<string>( TotalParameterCount );
20+
21+
for ( var i = 0; i < TotalParameterCount; i++ )
22+
{
23+
var parameter = action.Parameters[i];
24+
25+
if ( parameter.ParameterType.IsModelBound() )
26+
{
27+
continue;
28+
}
29+
30+
var bindingSource = parameter.BindingInfo?.BindingSource;
31+
32+
if ( bindingSource != Custom && bindingSource != Path )
33+
{
34+
continue;
35+
}
36+
37+
filteredParameters.Add( parameter.Name );
38+
}
39+
40+
Action = action;
41+
FilteredParameters = filteredParameters;
42+
}
43+
44+
internal ActionDescriptor Action { get; }
45+
46+
internal int TotalParameterCount { get; }
47+
48+
internal IReadOnlyList<string> FilteredParameters { get; }
49+
}
50+
}

src/Microsoft.AspNetCore.OData.Versioning/AspNetCore.Mvc/Versioning/ODataApiVersionActionSelector.cs

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -165,46 +165,5 @@ public override ActionDescriptor SelectBestCandidate( RouteContext context, IRea
165165

166166
return RoutePolicy.Evaluate( context, selectionResult );
167167
}
168-
169-
[DebuggerDisplay( "{Action.DisplayName,nq}" )]
170-
sealed class ActionCandidate
171-
{
172-
internal ActionCandidate( ActionDescriptor action )
173-
{
174-
Contract.Requires( action != null );
175-
176-
TotalParameterCount = action.Parameters.Count;
177-
178-
var filteredParameters = new List<string>( TotalParameterCount );
179-
180-
for ( var i = 0; i < TotalParameterCount; i++ )
181-
{
182-
var parameter = action.Parameters[i];
183-
184-
if ( parameter.ParameterType.IsModelBound() )
185-
{
186-
continue;
187-
}
188-
189-
var bindingSource = parameter.BindingInfo?.BindingSource;
190-
191-
if ( bindingSource != Custom && bindingSource != Path )
192-
{
193-
continue;
194-
}
195-
196-
filteredParameters.Add( parameter.Name );
197-
}
198-
199-
Action = action;
200-
FilteredParameters = filteredParameters;
201-
}
202-
203-
internal ActionDescriptor Action { get; }
204-
205-
internal int TotalParameterCount { get; }
206-
207-
internal IReadOnlyList<string> FilteredParameters { get; }
208-
}
209168
}
210169
}

0 commit comments

Comments
 (0)