草庐IT

通用化

全部标签

c# - 通用智能感知的全新完整实现

我有兴趣为SQL和C#编写一个通用的启用Intellisense的编辑器(等,如果可能的话!)。我想在C#中将其作为覆盖或扩展的WPFrichTextBox类型控件来执行。我知道有很多示例项目可用,并且我已经实现了自己的基本版本;但我遇到的大多数例子(实际上是我自己的)只是基本的。几个代码示例是:DIYIntellisenseByyetanotherchrisCodeTextBox-anotherRichTextBoxcontrolwithsyntaxhighlightingandIntellisenseByTamasHonfi然而,我发现了一个很好的SQL编辑器示例,带有Intell

c# - 通用智能感知的全新完整实现

我有兴趣为SQL和C#编写一个通用的启用Intellisense的编辑器(等,如果可能的话!)。我想在C#中将其作为覆盖或扩展的WPFrichTextBox类型控件来执行。我知道有很多示例项目可用,并且我已经实现了自己的基本版本;但我遇到的大多数例子(实际上是我自己的)只是基本的。几个代码示例是:DIYIntellisenseByyetanotherchrisCodeTextBox-anotherRichTextBoxcontrolwithsyntaxhighlightingandIntellisenseByTamasHonfi然而,我发现了一个很好的SQL编辑器示例,带有Intell

c# - 从 C# 通用字典中过滤掉值

我有一个C#字典,Dictionary我需要根据MyObject的属性进行过滤.例如,我想从字典中删除所有MyObject.BooleanProperty=false的记录.实现这一目标的最佳方式是什么? 最佳答案 如果您不关心用所需项目创建新字典并丢弃旧字典,只需尝试:dic=dic.Where(i=>i.Value.BooleanProperty).ToDictionary(i=>i.Key,i=>i.Value);如果你不能创建一个新的字典并且由于某种原因需要改变旧的(比如当它被外部引用并且你不能更新所有的引用时:foreac

c# - 从 C# 通用字典中过滤掉值

我有一个C#字典,Dictionary我需要根据MyObject的属性进行过滤.例如,我想从字典中删除所有MyObject.BooleanProperty=false的记录.实现这一目标的最佳方式是什么? 最佳答案 如果您不关心用所需项目创建新字典并丢弃旧字典,只需尝试:dic=dic.Where(i=>i.Value.BooleanProperty).ToDictionary(i=>i.Key,i=>i.Value);如果你不能创建一个新的字典并且由于某种原因需要改变旧的(比如当它被外部引用并且你不能更新所有的引用时:foreac

c# - 制作通用属性

我有一个存储序列化值和类型的类。我想要一个属性/方法返回已经转换的值:publicStringValue{get;set;}publicTypeTheType{get;set;}publictypeof(TheType)CastedValue{get{returnConvert.ChangeType(Value,typeof(_Type));}这在C#中可行吗? 最佳答案 如果包含该属性的类是泛型的,并且您使用泛型参数声明该属性,则这是可能的:classFoo{publicstringValue{get;set;}publicTVa

c# - 制作通用属性

我有一个存储序列化值和类型的类。我想要一个属性/方法返回已经转换的值:publicStringValue{get;set;}publicTypeTheType{get;set;}publictypeof(TheType)CastedValue{get{returnConvert.ChangeType(Value,typeof(_Type));}这在C#中可行吗? 最佳答案 如果包含该属性的类是泛型的,并且您使用泛型参数声明该属性,则这是可能的:classFoo{publicstringValue{get;set;}publicTVa

c# - 在 C# 中将 Int 转换为通用枚举

类似于CastinttoenuminC#但我的枚举是一个通用类型参数。处理此问题的最佳方法是什么?例子:privateTConvertEnum(inti)whereT:struct,IConvertible{return(T)i;}生成编译器错误Cannotconverttype'int'to'T'完整代码如下,其中value可以是int,也可以是null。privateint?TryParseInt(stringvalue){vari=0;if(!int.TryParse(value,outi)){returnnull;}returni;}privateT?TryParseEnum(

c# - 在 C# 中将 Int 转换为通用枚举

类似于CastinttoenuminC#但我的枚举是一个通用类型参数。处理此问题的最佳方法是什么?例子:privateTConvertEnum(inti)whereT:struct,IConvertible{return(T)i;}生成编译器错误Cannotconverttype'int'to'T'完整代码如下,其中value可以是int,也可以是null。privateint?TryParseInt(stringvalue){vari=0;if(!int.TryParse(value,outi)){returnnull;}returni;}privateT?TryParseEnum(

c# - 任何人都知道缺少枚举通用约束的良好解决方法?

我想做的是这样的:我有带有组合标记值的枚举。publicstaticclassEnumExtension{publicstaticboolIsSet(thisTinput,TmatchTo)whereT:enum//theconstraintIwantthatdoesn'texistinC#3{return(input&matchTo)!=0;}}那么我可以这样做:MyEnumtester=MyEnum.FlagA|MyEnum.FlagBif(tester.IsSet(MyEnum.FlagA))//actonflaga不幸的是,C#的泛型where约束没有枚举限制,只有类和结构。C

c# - 任何人都知道缺少枚举通用约束的良好解决方法?

我想做的是这样的:我有带有组合标记值的枚举。publicstaticclassEnumExtension{publicstaticboolIsSet(thisTinput,TmatchTo)whereT:enum//theconstraintIwantthatdoesn'texistinC#3{return(input&matchTo)!=0;}}那么我可以这样做:MyEnumtester=MyEnum.FlagA|MyEnum.FlagBif(tester.IsSet(MyEnum.FlagA))//actonflaga不幸的是,C#的泛型where约束没有枚举限制,只有类和结构。C