问题标签 [base-class-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
210 浏览

c# - 为什么某些 .NET BCL 方法不会引发异常?

例如,BitConverter.GetBytes 方法 (Int64)XmlUrlResolver 构造函数都没有记录为抛出异常。他们是否通过使用返回值来指示错误?

0 投票
1 回答
1228 浏览

visual-studio-2010 - Visual Studio 2010 上的 Microsoft HTTP 客户端库 NuGet 包

在撰写本文时,Microsoft HTTP 客户端库 NuGet 包 (Microsoft.Net.Http) 的版本为2.2.13. 但是,尽管 System.Web.Http.SelfHost 需要此版本,但它附带免责声明,它在 Visual Studio 2010 中不受支持。(事实上​​,它确实会导致 Visual Studio 2010 出现问题,依赖库也是如此Microsoft.Bcl.Build。)

我的问题是,我应该使用哪个版本?可用的早期版本是2.1.102.0.20710.02.0.20505.0

我会2.1.10尝试并报告,但如果有人已经有答案,请告诉我。

0 投票
1 回答
138 浏览

.net - 基类库的规范在哪里?

我正在寻找基类库的“权威”规范。我已经阅读了 ECMA 334、ECMA-335、IEC 23270、IEC 23271。我希望能找到所有标准化 BCL 命名空间(例如,、等)中所有内容的详细信息,SystemSystem.Collections这些文件中似乎没有.

规范只是 .NET MSDN 文档还是有其他内容?

我是否错过了 CLI 语言和 .NET 框架如何结合在一起的信息?

0 投票
2 回答
1315 浏览

c# - .NET 框架中是否有字母的枚举类型?

我需要定义在项目中使用的字母的枚举类型。.NET 框架中是否有这样的枚举类型?

0 投票
1 回答
1788 浏览

c# - 未找到 Microsoft.Threading.Tasks,.net 4.0

我将我的 .net 应用程序转换为 .net 4.0 并且因为我使用 async/await 我安装了 NuGet 包 Async for .Net 4 和依赖项 Microsoft BCL ...

当我构建我的应用程序时,一切都很顺利,但是当我将我的应用程序 .exe 移动到正确的环境时,我得到了错误:

System.IO.FileNotFoundException:无法加载文件或程序集 'Microsoft.Threading.Tasks,Version=1.0.12.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a 或其依赖项之一。

如果我将 Microsoft.Threading.Tasks.dll 包含到我的应用程序目录中,一切正常(此 .dll 被复制到我的应用程序构建目录)。

所以问题是我是否需要将此 Microsoft.Threading.Tasks.dll 包含到我的应用程序安装程序中,或者有没有办法将它捆绑到我的应用程序 .exe 中?

0 投票
1 回答
204 浏览

.net - 'this' 包含在 MethodInfo.Invoke 中,用于静态方法(通过 Mono BCL)

背景:我正在研究特定于域的 CLI 实现。这个实现有望使用 Mono 或其部分包含的 BCL。它不使用 Mono 的任何其他部分——它从头开始实现 CLR/VES 本身。现在我正在研究 CLR 本身和 BCL 之间的“边界层”,因此我可以确保我的 CLR 将按照 BCL 的预期方式运行。

我在 Mono BCL 源代码中遇到了一些我难以理解的东西。它在执行中System.Delegate

我在看DynamicInvokeImpl。第一点很清楚:它是MethodInfo根据被调用的签名来获取的。

事情在第二次之后变得奇怪#if NET_2_0。看起来如果提供了一个目标对象,并且被调用的方法是 static,它会向参数添加一个“this”指针!

它继续将这个可能修改过的参数列表传递给MethodInfo.Invoke. 我查看了该方法的 MSDN 文档,似乎很清楚即使调用实例方法,也不应该包含“this”指针 - 更不用说为静态方法添加一个了!

请记住,这不是调用 Mono 的某些内部部分,它可以以任何他们想要的方式工作 - 它调用了一个定义良好的公共方法System.Reflection.MethodInfo

我知道 CLR 必须将隐藏参数(通常是类型句柄)插入到泛型类的静态方法调用中。但是,1)这是一个“this”引用,而不是类型句柄,2)代码似乎是在批发,而不仅仅是针对泛型类,以及 3)类似的事情将在较低级别完成,而不是由的来电者MethodInfo.Invoke

任何线索这里发生了什么?

0 投票
1 回答
266 浏览

c# - 通用类的基类?

我们在 MVC 4 应用程序中使用 EF6,因此我们为业务对象创建了一个抽象类
所以,我们有一个通用抽象类,如下所示:

在我们的应用程序中,BusinessLayer我们有几个实现上述类的类(每个实体一个类)。
eg:如下

我们需要有一个BaseBusinessObject以上的类。
现在,我的问题就在这里;我们如何才能BaseBusinessObject为上述课程开设课程?

编辑 :

好吧,Repository<>是 的基类BusinessObjects,不是吗?
实际上,我们需要一个非泛型基类来解释BusinessObjects
为什么?
我们在 MVC 4 应用程序中使用 Web API 服务。在每个 web api 控制器中,我们必须具有与以下相同的操作,只是BusinessObject不同。因此,如果我们可以有一个基础业务对象,我们可以在基础 web api 控制器中实现以下操作。

0 投票
1 回答
3774 浏览

c# - 是否有 Task.Delay(0) 和 Task.FromResult(0) 的替代方案?

我正在尝试创建一个利用 async/await 功能集的可移植类库 (.NET 4.5/Silverlight 5/Win Phone 8/WinRT)。我发现我需要包含Microsoft.Bcl.AsyncNuGet 包才能使此功能正常工作,所以我就这样做了。显然由于我的目标,我无法访问Task.Delay(0)Task.FromResult(0). 我想知道下一个最好的选择是什么?

目前,我正在使用:(new Task(() => { })基本上,一个不执行任何操作的任务。)

我不确定这是否与前面提到的任何一种模式最等效。


更新:显然我是盲人,没有TaskEx在我的智能菜单中看到。我将问题保持开放,以便人们知道它在那里,只是很容易错过,因为我的智能感知一直自动完成到TaskExtensions.

0 投票
3 回答
100 浏览

c# - 何时使用 .NET Framework 提供的工厂方法

我见过少数情况下,.NET Framework 提供了工厂版本的方法,例如:

对比

我们如何选择使用哪一种以及哪一种更好?

0 投票
1 回答
1196 浏览

c# - 为什么 AppDomain.ShadowCopyFiles 是字符串?

.Net 中有 ShadowCopy 功能,可通过复制程序集来保持文件锁定。有两个属性:

  1. AppDomain.ShadowCopyFiles使用 AppDomainSetup
  2. AppDomainSetup.ShadowCopyFiles将其存储在内部string[]

AppDomainSetupstring Value[]字段,用于存储配置。对我来说奇怪的是它AppDomainSetup.ShadowCopyFiles是一个字符串属性,我们需要设置"true""false"代替真实bool类型。

这是该属性的实现AppDomainSetup

这是 AppDomain.ShadowCopyFiles 的一个实现:

但是为什么在AppDomainSetup这个属性中是一个string?为什么微软没有使用一些bool转换逻辑AppDomain.ShadowCopyFiles

奇怪的是,位于 中的这种有点臭的代码AppDomainSetup,我只是在想我失踪的真正原因是什么?