相关疑难解决方法(0)

使用可选参数冲突重载方法

我有两个重载方法,一个带有可选参数.

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#团队以这种方式定义它?

parameters overloading optional-parameters c#-4.0

24
推荐指数
3
解决办法
6261
查看次数

迁移到 NET6

我尝试将我的 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)

有人遇到过这个问题吗?

identityserver4 .net-6.0

12
推荐指数
2
解决办法
1万
查看次数