问题标签 [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.
c# - 为什么某些 .NET BCL 方法不会引发异常?
例如,BitConverter.GetBytes 方法 (Int64)和XmlUrlResolver 构造函数都没有记录为抛出异常。他们是否通过使用返回值来指示错误?
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.10
、2.0.20710.0
和2.0.20505.0
。
我会2.1.10
尝试并报告,但如果有人已经有答案,请告诉我。
.net - 基类库的规范在哪里?
我正在寻找基类库的“权威”规范。我已经阅读了 ECMA 334、ECMA-335、IEC 23270、IEC 23271。我希望能找到所有标准化 BCL 命名空间(例如,、等)中所有内容的详细信息,System
但System.Collections
这些文件中似乎没有.
规范只是 .NET MSDN 文档还是有其他内容?
我是否错过了 CLI 语言和 .NET 框架如何结合在一起的信息?
c# - .NET 框架中是否有字母的枚举类型?
我需要定义在项目中使用的字母的枚举类型。.NET 框架中是否有这样的枚举类型?
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 中?
.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
!
任何线索这里发生了什么?
c# - 通用类的基类?
我们在 MVC 4 应用程序中使用 EF6,因此我们为业务对象创建了一个抽象类
所以,我们有一个通用抽象类,如下所示:
在我们的应用程序中,BusinessLayer
我们有几个实现上述类的类(每个实体一个类)。
eg:如下
我们需要有一个BaseBusinessObject
以上的类。
现在,我的问题就在这里;我们如何才能BaseBusinessObject
为上述课程开设课程?
编辑 :
好吧,Repository<>
是 的基类BusinessObjects
,不是吗?
实际上,我们需要一个非泛型基类来解释BusinessObjects
为什么?
我们在 MVC 4 应用程序中使用 Web API 服务。在每个 web api 控制器中,我们必须具有与以下相同的操作,只是BusinessObject
不同。因此,如果我们可以有一个基础业务对象,我们可以在基础 web api 控制器中实现以下操作。
c# - 是否有 Task.Delay(0) 和 Task.FromResult(0) 的替代方案?
我正在尝试创建一个利用 async/await 功能集的可移植类库 (.NET 4.5/Silverlight 5/Win Phone 8/WinRT)。我发现我需要包含Microsoft.Bcl.Async
NuGet 包才能使此功能正常工作,所以我就这样做了。显然由于我的目标,我无法访问Task.Delay(0)
或Task.FromResult(0)
. 我想知道下一个最好的选择是什么?
目前,我正在使用:(new Task(() => { })
基本上,一个不执行任何操作的任务。)
我不确定这是否与前面提到的任何一种模式最等效。
更新:显然我是盲人,没有TaskEx
在我的智能菜单中看到。我将问题保持开放,以便人们知道它在那里,只是很容易错过,因为我的智能感知一直自动完成到TaskExtensions
.
c# - 为什么 AppDomain.ShadowCopyFiles 是字符串?
.Net 中有 ShadowCopy 功能,可通过复制程序集来保持文件锁定。有两个属性:
AppDomain.ShadowCopyFiles
使用 AppDomainSetupAppDomainSetup.ShadowCopyFiles
将其存储在内部string[]
AppDomainSetup
有string Value[]
字段,用于存储配置。对我来说奇怪的是它AppDomainSetup.ShadowCopyFiles
是一个字符串属性,我们需要设置"true"
或"false"
代替真实bool
类型。
这是该属性的实现AppDomainSetup
:
这是 AppDomain.ShadowCopyFiles 的一个实现:
但是为什么在AppDomainSetup
这个属性中是一个string
?为什么微软没有使用一些bool
转换逻辑AppDomain.ShadowCopyFiles
?
奇怪的是,位于 中的这种有点臭的代码AppDomainSetup
,我只是在想我失踪的真正原因是什么?