我有一个接口(interface)的实现,该接口(interface)扩展了IDisposable。在我的特定接口(interface)实现中,我不需要处理任何东西,所以我只有一个空的Dispose()方法。publicinterfaceIMyStuff:IDisposable{}publicMyStuffImpl:IMyStuff{publicvoidDispose(){}}现在在FxCop中,这会导致CA1063:Error,Certainty95,forImplementIDisposableCorrectly{Resolution:"Provideanoverridableim
有人要我使其他人的代码符合某些FxCop规则集,其中包括规则CA1726:Usepreferredterms.大多数术语/替换都是正确的,我可以理解必须决定一种命名方式。但是,“标志”一词有什么用呢?任何人都可以向我解释为什么我不使用这个名字吗?(在我去向老板提示之前;))比如说,我有一个数据对象,它有一个类“flags”的成员,它捆绑了大量定义如何处理数据对象的属性。你还能怎么调用它? 最佳答案 FrameworkDesignGuidelines这本书是FxCop的基础,作者说使用Flag或Flags是不好的主意。他们的替代建议是
我正在尝试创建一个实用程序来从Internet下载文件并将其再次上传到Azureblob存储。Blob容器已经创建好了;但出于某种原因,当我尝试将文件上传到存储时出现“BadRequest400”异常......创建了容器名称,小写字母,特殊字符。但我仍然不知道为什么会出现异常!请帮忙。注意:我没有使用任何模拟器...直接在云端进行测试。我的所有容器都具有“公共(public)容器”访问选项。异常(exception)情况:Anexceptionoftype'Microsoft.WindowsAzure.Storage.StorageException'occurredinMicros
我需要将C#4.0中的一些嵌套结构编码为二进制blob以传递给C++框架。到目前为止,我使用unsafe取得了很大的成功。/fixed处理基本类型的固定长度数组。现在我需要处理一个包含其他结构的嵌套固定长度数组的结构。我使用了复杂的变通方法来展平结构,但后来我遇到了一个MarshalAs的例子。看起来像它可以为我节省很多问题的属性。不幸的是,虽然它给了我正确的数据量,但它似乎也停止了fixed正如该程序的输出所示,数组不会被正确编码。您可以通过在最后一行放置断点并检查每个指针处的内存来确认失败。usingSystem;usingSystem.Threading;usingSystem.
好的,这是我需要做的:我的应用程序是用C#(.NETFramework4.5)编写的,需要通过HTTPS与我们的服务器通信。我们的服务器使用我们自己的Root-CA颁发的TLS/SSL证书。该Root-CA虽然完全受我的应用程序信任,但未安装在系统的“受信任的根”证书库中。因此,如果没有进一步的工作,C#将拒绝联系服务器,因为无法验证服务器的证书-正如预期的那样。注意:我们不能使用系统中已经安装的Root-CA。我该怎么做才能让我的应用程序(安全地)联系我们的服务器?我知道C#提供了将我们的Root-CA证书作为“受信任的根”安装到系统证书库中的类。这不是我们想要做的!那是因为(a)它
我正在尝试使用非对称加密对文件进行加密和解密。我已经使用makecert创建了一个测试证书并将其安装到我的个人本地机器商店中。将来我必须在多台服务器上安装此证书,这就是我使用“-pe”标志创建它的原因,即使用可导出的私钥。证书已成功创建和安装,我在mmc中看到“您有一个与此证书相对应的私钥”提示。现在我正尝试在.NET3.5中使用RSACryptoServiceProvider加密数据。它成功了。但是当我试图解密它时,出现“Badkey”异常。如果我创建的证书没有“-pe”选项,则相同的代码可以很好地解密。这是代码:RSArsaKey=(RSA)myCertificate.Privat
抛出异常通常遵循以下模式:if(condition){throwexception;}你检查一个条件,如果条件满足,你抛出一个异常。所以,我想知道为它编写一个如下所示的静态类是否是个好主意:publicstaticclassThrow{publicstaticvoidIfNullOrEmpty(string@string,paramsobject[]parameters)whereT:Exception{Throw.If(string.IsNullOrEmpty(@string),parameters);}publicstaticvoidIfNullOrEmpty(IEnumerabl
我有一个工厂方法可以构建实现IDisposable的对象。最终是调用者管理所创建对象的生命周期。这个设计触发了一堆CA2000errors.我的设计中是否存在根本性错误,是否需要重构,或者只是对静态代码分析警告过于兴奋?工厂方法publicstaticDisposableTypeBuildTheDisposableType(stringparam1,intparam2){vartheDisposable=newDisposableType();//DosomeworktosetuptheDisposablereturntheDisposable}来电者using(vardt=Facto
在工作中我误用String.IsNullOrEmpty和Session变量后,我的一位同事现在拒绝接受我对String.IsNullOrEmpty的使用。经过一些研究,显然在MSDN(link)上为IsNullOrEmpty列出了一个错误(阅读底部的注释):AsofApril4,2006,thereisabug(possibleintheJIT)thatmakesthismethodfailwhenoptimizationsareturnedon.ItisknowntoaffectbothC#andVB.可以在此处找到更多信息(link)。微软这个错误“应该”在Orcas后修复,但不幸
我在我们的项目中使用静态代码分析来检查代码违规情况。广泛使用的规则之一是CA2213,它检查一次性字段的正确处理。我注意到CA2213不检查自动实现属性的处理。此外,如果类继承自实现IDisposable的类且未重写Dispose方法,则CA2213既不检查字段也不检查自动实现的属性的处置。实例:publicsealedclassGood:IDisposable{privateFontfont;publicFontFont{get{returnfont;}set{font=value;}}publicGood(){font=newFont("Arial",9);}publicvoidD