我有两个重载方法,一个带有可选参数.
void foo(string a) { }
void foo(string a, int b = 0) { }
Run Code Online (Sandbox Code Playgroud)
现在我打电话给:
foo("abc");
Run Code Online (Sandbox Code Playgroud)
有趣的是第一次重载被调用.为什么第二次重载的可选值设置为零?
说实话,我希望编译器带来一个错误,至少是一个警告,以避免无意中执行错误的方法.
这种行为的原因是什么?为什么C#团队以这种方式定义它?
我尝试将我的 ASP CORE 项目迁移到 NET6 我的项目使用下一个包
IdentityServer4.AccessTokenValidation - 3.0.1
IdentityModel.AspNetCore.OAuth2Introspection - 4.0.1
身份模型 - 5.2.0
项目构建成功。但是当我运行应用程序时出现错误
MissingMethodException: Method not found: 'IdentityModel.Client.DiscoveryEndpoint IdentityModel.Client.DiscoveryEndpoint.ParseUrl(System.String)'.
IdentityServer4.AccessTokenValidation.IdentityServerAuthenticationOptions.ConfigureJwtBearer(JwtBearerOptions jwtOptions)
IdentityServer4.AccessTokenValidation.ConfigureInternalOptions.Configure(string name, JwtBearerOptions options)
Microsoft.Extensions.Options.OptionsFactory<TOptions>.Create(string name)
Microsoft.Extensions.Options.OptionsMonitor<TOptions>+<>c__DisplayClass10_0.<Get>b__0()
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个问题吗?