-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nullable int always set to 0? #49
Comments
[ValueArgument(typeof(int))] - I am surprised that this does not crash. But this
seem to work fine for me. And isn't DefaultValue=null redundant? |
Maybe it's just Net Core 2.0 related??? And the command is: The error is like:
|
Yeah, could be .Net version. Could you take a look whether there is some
change in the implementation of int32? .tryparse/parse in NC2.0?
On Aug 20, 2017 7:26 PM, "Stef Heyenrath" <notifications@github.com> wrote:
Maybe it's just Net Core 2.0 related???
See https://github.com/WireMock-Net/WireMock.Net/tree/master/
examples/WireMock.Net.StandAlone.NETCoreApp
And the command is:
dotnet run -f netcoreapp2.0 --MaxRequestLogCount 100
The error is like:
Type System.Nullable`1[System.Int32] of argument 100 is not a built-in
type.Set ConvertValueHandler to a conversion routine for this type or
define static method Parse(string stringValue, Cu
ltureInfo cultureInfo) that can Parse your type from string.
Usage:
--Port[optional]... Port to listen on.
…--Urls[optional]... URL(s) to listen on.
--AllowPartialMapping[optional]... Allow Partial Mapping
(default set to false).
--StartAdminInterface[optional]... Start the AdminInterface
(default set to true).
--ReadStaticMappings[optional]... Read StaticMappings from
./__admin/mappings (default set to true).
--ProxyURL[optional]... The ProxyURL to use.
--SaveProxyMapping[optional]... Save the proxied request and
response mapping files in ./__admin/mappings. (default set to true).
--X509Certificate2ThumbprintOrSubjectName[optional]... The
X509Certificate2 Thumbprint or SubjectName to use.
--AdminUsername[optional]... The username needed for __admin access.
--AdminPassword[optional]... The password needed for __admin access.
--RequestLogExpirationDuration[optional]... The RequestLog
expiration in hours (optional).
--MaxRequestLogCount[optional]... The MaxRequestLog count (optional).
Unhandled Exception:
CommandLineParser.Exceptions.InvalidConversionException: Type
System.Nullable`1[System.Int32] of argument 100 is not a built-in
type.Set ConvertValueHandler to a convers
ion routine for this type or define static method Parse(string
stringValue, CultureInfo cultureInfo) that can Parse your type from
string.
at CommandLineParser.Arguments.ValueArgument`1.DefaultConvert(String
stringValue)
at CommandLineParser.Arguments.ValueArgument`1.Convert(String stringValue)
at CommandLineParser.Arguments.ValueArgument`1.Parse(IList`1 args, Int32& i)
at CommandLineParser.CommandLineParser.ParseCommandLine(String[] args)
at WireMock.Net.StandAlone.StandAloneApp.Start(String[] args) in
C:\Users\StefHeyenrath\Documents\GitHub\WireMock.Net\src\WireMock.Net.StandAlone\StandAloneApp.cs:line
146
at WireMock.Net.StandAlone.NETCoreApp.Program.Main(String[] args)
in C:\Users\StefHeyenrath\Documents\GitHub\WireMock.Net\examples\WireMock.Net.StandAlone.NETCoreApp\Program.cs:line
14
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#49 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABX8-oVS1EZWVTEDtNHr9kXIxV7Zu4VJks5saGwegaJpZM4O8nid>
.
|
I doubt if this is Net Core 2.0 related, actually I think that this code (
I think you need this code: if (valueType.IsGenericType && valueType.GetGenericTypeDefinition() == typeof(Nullable<>))
{
valueType = Nullable.GetUnderlyingType(valueType);
}
MethodInfo mi = valueType.GetMethod("Parse", new [] { typeof(string), typeof(CultureInfo)});
if (mi != null)
{
if (mi.IsStatic && mi.ReturnType == valueType)
{
return stringValue != null ? (TValue)mi.Invoke(null, new object[] { stringValue, _cultureInfo }) : null;
}
} See my example at: Also verify for null: |
Should I make a PR + unit-tests for this issue? |
When not providing this argument, the default value is set to 0 instead of null ? Do I miss something?
And typeof(int?) crashes ?
The text was updated successfully, but these errors were encountered: