Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc3c50ee

Browse files
stephen-swensenKevinRansom
authored andcommitted
Fixdotnet#68 - filter out type initializer from Type.GetConstructor portable implementation
1 parentb9d2f3f commitc3c50ee

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

‎src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Quotations/FSharpQuotations.fs‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,7 @@ type FSharpQuotationsTests() =
6767
letwrongValue=<@"!"@>
6868
Check.argumentException(fun()-> ExprShape.RebuildShapeCombination(shape,[wrongValue;lambda]))
6969
|_-> Assert.Fail()
70+
71+
[<Test>]
72+
memberx.GetConstructorFiltersOutStaticConstructor()=
73+
ignore<@ System.Exception()@>

‎src/fsharp/FSharp.Core/reflect.fs‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,12 @@ module ReflectionAdapters =
125125
memberthis.GetConstructor(parameterTypes:Type[])=
126126
this.GetTypeInfo().DeclaredConstructors
127127
|> Seq.filter(fun ci->
128-
letparameters= ci.GetParameters()
129-
(parameters.Length= parameterTypes.Length)&&
130-
(parameterTypes, parameters)||> Array.forall2(fun ty pi-> pi.ParameterType.Equals ty)
128+
not ci.IsStatic&&//exclude type initializer
129+
(
130+
letparameters= ci.GetParameters()
131+
(parameters.Length= parameterTypes.Length)&&
132+
(parameterTypes, parameters)||> Array.forall2(fun ty pi-> pi.ParameterType.Equals ty)
133+
)
131134
)
132135
|> Seq.toArray
133136
|> commit

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp