草庐IT

system-auth

全部标签

c# - System.StringComparer 和 System.StringComparison 类之间的区别?

这两个类有什么区别?我使用了System.StringComparer.OrdinalIgnoreCase()和System.StringComparison.OrdinalIgnoreCase()并且都产生了相同的结果。它们有什么区别还是一样? 最佳答案 StringComparer是Class它实现了类似IComparer的比较接口(interface),IEqualityComparer,IComparer,这样它就可以用来比较两个字符串。StringComparison只是一个Enum你可以传递给某些方法来指示你想要哪种比较

c# - 将异步 lambda 表达式转换为委托(delegate)类型 System.Func<T>?

我在具有此签名的可移植类库中有一个异步方法:privateasyncTask_Fetch(Uriuri)它获取一个资源,该资源被转换为具体类型T。我正在使用需要Func的第三方缓存库(Akavache)作为参数之一,并尝试以这种方式这样做:awaitthis.CacheProvider.GetOrCreateObject(key,async()=>await_Fetch(uri),cacheExpiry);这会导致错误:Cannotconvertasynclambdaexpressiontodelegatetype'System.Func'.Anasynclambdaexpressio

c# - 我是否必须包含所有 System.Collections.Immutable 依赖项?

我刚从(旧的)Microsoft.Bcl.ImmutableNuGet包切换到System.Collections.Immutable并惊讶地发现我的项目中有所有这些新的包依赖项:System.CollectionsSystem.Diagnostics.DebugSystem.GlobalizationSystem.LinqSystem.Resources.ResourceManagerSystem.RuntimeSystem.Runtime.ExtensionsSystem.Threading它们被列为NuGet包的依赖项,因此它们有权存在,但它们显然也已经安装在我的PC和我的目标环

c# - 如何在 C# 中使用 System.Reflection.MethodBase 查找方法的返回类型?

如何从MethodBase中找出方法的返回类型?我正在使用PostSharp并尝试覆盖CompileTimeValidate(MethodBase方法)方法以确保该属性应用于具有正确签名的方法。谢谢, 最佳答案 MethodBase用作MethodInfo的基类它有一个属性ReturnType.您可以尝试转换为MethodInfo的实例并检查该属性。 关于c#-如何在C#中使用System.Reflection.MethodBase查找方法的返回类型?,我们在StackOverflow上

c# - 添加可选参数后的 System.MissingMethodException

我在一个组件中有一个可选参数而另一个调用它的组件未构建时出现System.MissingMethodException错误,因为它使用旧参数数量调用它。只有添加了参数的组件才构建并部署为补丁。调用组件是旧的,因为它没有变化。当调用组件运行时出现错误:异常信息ExceptionType:System.MissingMethodExceptionMessage:Methodnotfound:'LabelURLsIPSD.BnB.Transaction.Postage.GetLabelURLs(System.String)'.Data:System.Collections.ListDicti

c# - 通过 System.Reflection 访问内部成员?

我正在尝试对具有许多内部函数的类进行单元测试。这些显然也需要测试,但我的测试项目是独立的,主要是因为它涵盖了许多小的相关项目。到目前为止我所拥有的是:FieldInfo[]_fields=typeof(ButtonedForm.TitleButton).GetFields(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.DeclaredOnly);Console.WriteLine("{0}fields:",_fields.Length);foreach(FieldInfofiin_fields){Console.Wr

c# - 包装 System.Numerics.VectorS 的成本很高——为什么?

TL;DR:为什么包装System.Numerics.Vectors类型很昂贵,我能做些什么吗?考虑以下代码:[MethodImpl(MethodImplOptions.NoInlining)]privatestaticlongGetIt(longa,longb){varx=AddThem(a,b);returnx;}privatestaticlongAddThem(longa,longb){returna+b;}这会将JIT转换为(x64):00007FFDA3F94500learax,[rcx+rdx]00007FFDA3F94504ret和x86:00EB2E20pushebp0

c# - System.Diagnostics.Process UseShellExecute 究竟做了什么?

我有一个MSBuild任务执行(除其他外)对xcopy的调用。我发现,当我从一个批处理文件运行我的MSBuild任务时,对xcopy的调用正确执行,并且无法执行或产生任何输出,这些输出让我知道当从另一个批处理文件调用同一个批处理文件时发生了什么带有System.Diagnostics.Process的C#应用程序。两个进程都以大致相同的结构启动:waitProc.StartInfo.Arguments="/C[executable]";waitProc.StartInfo.FileName="cmd.exe";waitProc.StartInfo.UseShellExecute=fal

c# - System.Collections 是 "namespace of the System namespace"吗?

好的,所以我一直在阅读一本关于C#和.NET的书,同时学习DateTime结构和以下代码:DateTimedt=newDateTime(2015,10,17);我问自己“为什么我不必通过编写usingSystem.DateTime在顶部引用它”?所以我意识到,由于DateTime是一个结构,并且“using”关键字用于引用类型(类型是指集合{类、接口(interface)、结构、枚举、委托(delegate)}中的成员的通用术语),在特定命名空间中定义(在本例中,DateTime是来自系统命名空间的类型结构)。但我注意到在我的文件的顶部,找到了以下using指令(当我创建我的C#控制台

c# - System.IdentityModel.Tokens.Jwt 的更新导致 IdentityServer3 客户端发生重大变化

希望是一个容易解决的问题。Microsoft的System.IdentityModels.Tokens.Jwt包昨天在NuGet上从4.0.2.206211351更新到v5.0。不幸的是,这导致了一些“标准”IdentityServer3代码的重大变化。即取自他们的代码示例,所以我想在未来几天可能会有相当多的开发人员看到这个问题。原始代码使用v4.0.2.xxxxxx版本的包。我有usingSystem.IdentityModel.Tokens;在命名空间中。然后在配置方法中开始为:publicvoidConfiguration(IAppBuilderapp){AntiForgeryC