草庐IT

my_enum_convert

全部标签

c# - 如何关闭 resharper 中的 "Convert Extension Method to Plain Static"自动重构?

在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu

c# - 如何在不装箱的情况下比较 System.Enum 和枚举(实现)?

如何在不装箱的情况下将System.Enum与enum进行比较?例如,如何在不装箱enum的情况下使以下代码工作?enumColor{Red,Green,Blue}...System.EnummyEnum=GetEnum();//ReturnsaSystem.Enum.//MaybeaColor,maybesomeotherenumtype....if(myEnum==Color.Red)//ERROR!{DoSomething();}具体而言,此处的目的不是比较基础值。在这种情况下,基本值(value)并不重要。相反,如果两个枚举具有相同的基础值,如果它们是两种不同类型的枚举,则不应

c# - 如何修复 'compiler error - cannot convert from method group to System.Delegate' ?

publicMainWindow(){CommandManager.AddExecutedHandler(this,ExecuteHandler);}voidExecuteHandler(objectsender,ExecutedRoutedEventArgse){}错误1​​参数2:无法从“方法组”转换为“System.Delegate” 最佳答案 我猜有多个具有不同签名的ExecuteHandler。只需将您的处理程序转换为您想要的版本:CommandManager.AddExecuteHandler(this,(Action)

c# - 扩展 System.Convert

System.Convert有一个非常有用的实用工具,可以将数据类型从一种类型转换为另一种类型。在我的项目中,我有很多自定义类型。我想将命令行参数转换为这些自定义类型(其中一些非常复杂)。如果这些存在于System.Convert中就好了,这样我就可以做这样的事情:Convert.ToMyCustomType(args[1])我希望它在我键入时显示在VisualC#IDE中。我知道我可以简单地创建一个例程来转换类型,但我希望以与框架中已经内置的方式相同的方式处理类型转换。过去有没有人在这方面取得过成功? 最佳答案 不,您不能将它们添

c# - DDD : Enum like entities

我有以下数据库模型:**Persontable**ID|Name|StateId------------------------------1Joe12Peter13John2**Statetable**ID|Desc------------------------------1Working2Vacation领域模型将是(简化的):publicclassPerson{publicintId{get;}publicstringName{get;set;}publicStateState{get;set;}}publicclassState{privateintid;publicstri

c# - variable.ToString() 与 Convert.ToString(variable)

假设我有一个整数需要转换为字符串(例如,我可能通过文本框向用户显示值。我应该选择.ToString()还是Convert.ToString()。他们都做同样的事情(不是吗?)。intsomeValue=4;//YoucandothistxtSomeValue.Text=someValue.ToString();//Orthis...txtSomeValue.Text=Convert.ToString(someValue);假设两者之间没有运行时差异,那么我的理由归结为美观和一致性。最近我一直偏爱Convert.ToString(),因为它对我说“嘿,我想要这个东西的value作为一个字

c# - Enum.ToString() 已弃用?

当我在VisualStudio中的Enum类型上键入.ToString()时,Intellisense显示通过ToString()(虽然它构建并工作正常)。这似乎表明Enum.ToString()在某种程度上已被弃用。这是真的?如果是,为什么? 最佳答案 采用IFormatProvider的Enum.ToString重载,ToString(IFormatProvider)和ToString(String,IFormatProvider),都已过时,因为无论如何都没有使用IFormatProvider。其他重载,ToString()和

c# - 公共(public)静态字符串 MyFunc() 上的 "Expected class, delegate, enum, interface or struct"错误。什么 's an alternative to "字符串”?

当我尝试使用以下静态函数时出现错误。错误:Expectedclass,delegate,enum,interface,orstruct函数(和类):namespaceMyNamespace{publicclassMyClass{//SomeotherstaticmethodsthatuseClasses,delegates,enums,interfaces,orstructspublicstaticstringMyFunc(stringmyVar){stringmyText=myVar;//DosomestuffwithmyTextandmyVarreturnmyText;}}}这导致

c# - DataAnnotations 命名空间中的 Enum 值是否有开箱即用的验证器?

C#枚举值不仅限于其定义中列出的值,还可以存储其基类型的任何值。如果未定义基类型,则使用Int32或仅使用int。我正在开发一个WCF服务,它需要确信某些枚举已经分配了一个值,而不是所有枚举的默认值0。我从一个单元测试开始,以确定[Required]会在这里做正确的工作。usingSystem.ComponentModel.DataAnnotations;usingXunit;publicenumMyEnum{//Ialwaysstartfrom1inordertodistinctfirstvaluefromthedefaultvalueFirst=1,Second,}publiccl

c# - 哪个是快速比较 : Convert. ToInt32(stringValue)==intValue 或 stringValue==intValue.ToString()

在开发我的应用程序时,我遇到了一些比较的东西:stringstr="12345";intj=12345;if(str==j.ToString()){//domylogic}我在想上面的东西也可以用:stringstr="12345";intj=12345;if(Convert.ToInt32(str)==j){//domylogic}所以我开发了一个示例代码来测试哪个性能更好variterationCount=1000000;varwatch=newStopwatch();watch.Start();stringstr="12345";intj=12345;for(vari=0;i第二