草庐IT

const修饰符的增加

全部标签

c# - 使用 Roslyn CodeFixProvider 向方法添加访问修饰符?

几天前我在TechEd,我看到了thistalkbyKevinPilch-Bisson(releventpartstartsatabout18minutes)...我觉得这很酷,所以我决定自己和Roslyn一起玩。我正在尝试制定规则“必须声明访问修饰符”(StylecopSA1400)-意思是,这违反了规则:staticvoidMain(string[]args){}没关系:publicstaticvoidMain(string[]args){}它必须有明确的内部关键字、公共(public)关键字、私有(private)关键字或protected关键字。检测违规相当容易,但现在我正在尝

c# - 使用 T4/EnvDTE 获取所有用特定属性修饰的方法

我想获取项目中使用T4/EnvDTE使用MyAttribute修饰的所有公共(public)方法的列表。我知道这可以通过反射来完成,但我不想加载程序集并在T4模板中反射它,相反,我想使用现有的代码文件作为源。以下是我在互联网上找到的引用当前项目的样板代码 最佳答案 我想确认您使用EnvDTE获取有关项目类和方法的设计时信息的计划。在我看来,这比冒险反射(reflect)同一项目的过时程序集更可靠。由于您已经获得了解决方案的当前项目,因此您现在应该使用VisualStudioCodeModel迭代您的类及其方法等。我知道这可能很烦人,

c# - 如何在此父方法中等待没有异步修饰符的异步方法?

我有一个我想要等待的方法,但我不想造成多米诺骨牌效应,认为任何东西都可以调用这个调用方法并等待它。比如我有这个方法:publicboolSave(stringdata){introwsAffected=awaitUpdateDataAsync(data);returnrowsAffected>0;}我在打电话:publicTaskUpdateDataAsync(){returnTask.Run(()=>{returnData.Update();//returnanintegerofrowsAffected}}这行不通,因为我必须在Save()的方法签名中加入“async”然后我不能返回

C# 增加堆大小 - 是否可能

我在读取大量文件时使用C#出现内存不足异常我需要更改代码,但目前我可以增加堆大小(就像我在Java中那样)作为短期修复吗? 最佳答案 .Net会自动执行此操作。看起来您已经达到了一个.Net进程可以用于其对象的内存限制(在32位机器上,这是2标准或3GB,通过使用/3GB启动开关。Leppie和EricLippert的信息致谢).重新考虑您的算法,或者更改为64位机器可能会有所帮助。 关于C#增加堆大小-是否可能,我们在StackOverflow上找到一个类似的问题:

c# - 在 C# 中增加 WCF Web 服务的超时

我目前有一个应用程序正在调用服务器上的网络服务进行搜索。我们可以预期会返回大量数据,因此搜索时间超过一分钟是家常便饭。对于如此大量的搜索,我们一直收到以下错误消息:Therequestchanneltimedoutwhilewaitingforareplyafter00:00:59.7350618.IncreasethetimeoutvaluepassedtothecalltoRequestorincreasetheSendTimeoutvalueontheBinding.Thetimeallottedtothisoperationmayhavebeenaportionofalonge

c# - 增加一个字节[]

我有一个byte[]testKey=newbyte[8];这显然是从所有字节都为0开始的。我想遍历所有字节并在循环的每次迭代中递增1,因此最终我遍历了字节数组的所有可能性。我也想尽可能快地做到这一点。是的,我正在尝试编写一个暴力破解器。更新我得到了不安全的方法,它是最快的。但是,根据我的计算,使用.NetDESCryptoServiceProvider循环对每个key进行DES加密需要76,000,000年。10,000次加密需要1.3秒。感谢您对有史以来最无用的问题的所有精彩回答! 最佳答案 顺便说一句;检查2^64个选项需要很多

c# - 在当前日期基础上增加 1 周

我有这样的东西DateTime.Now.ToString("dd.MM.yy");在我的代码中,我需要添加1周,比如5.4.2012变成12.4.2012我试过转成int再累加,但是到30就出问题了。你能告诉我一些巧妙的方法吗? 最佳答案 在准备好将其转换为字符串之前,您希望将其保留为DateTime。DateTime.Now.AddDays(7).ToString("dd.MM.yy"); 关于c#-在当前日期基础上增加1周,我们在StackOverflow上找到一个类似的问题:

c# - 事件的 extern 修饰符的目的是什么?

这个问题在这里已经有了答案:HowdoesexternworkinC#?(4个答案)关闭8年前。浏览C#LanguageSpecification5.0时我开始意识到您可以定义一个外部事件。我习惯于为平台调用和native回调外部方法。在.NET世界的11年里,我还没有遇到过这个概念。extern事件与什么交互操作?它是否提供订阅某些本地事件的能力?你能发起这样的事件吗?它解决的哪些问题在C#语言中占有一席之地?我搜索了“extern”的规范,发现属性、索引器、构造函数、静态构造函数、终结器(!)甚至运算符(!)都可以是extern。字段不能。(我还了解到命名空间别名可以是“exter

c# - 配置 Unity 以解析采用修饰依赖项的类型,该依赖项的参数随注入(inject)的类型而变化

这是一个相当直接的装饰器模式场景,复杂的是装饰类型有一个构造函数参数,该参数取决于它被注入(inject)的类型。我有一个这样的界面:interfaceIThing{voidDo();}像这样的实现:classRealThing:IThing{publicRealThing(stringconfiguration){...implementation...}publicvoidDo(){...implementation...}}还有这样的装饰器:classDecoratingThing:IThing{IThing_innerThing;publicDecoratingThing(IT

c# - 为什么 ReSharper 更喜欢 const 而不是 readonly?

我注意到“常见做法和代码改进”下的ReSharper建议:将局部变量或字段转换为常量。我还注意到,在BillWagner的《EffectiveC#:50SpecificWaystoImproveYourC#》一书中,有一个语言成语“Preferreadonlytoconst”,作者在其中解释了使用const的风险。我的问题不是关于readonly和const之间的区别以及何时使用它们,而是为什么一个来源将const视为一种常见的做法/代码改进,而另一方面,第二个来源将readonly视为一个习语? 最佳答案 私有(private)常