草庐IT

ENUM_TYPE

全部标签

c# - 在 C# 项目 : resolving type collisions 中包含 FSharp.Core

我正在使用C#中的某些F#类型(Matrix等),因此我需要在我的C#项目中引用FSharp.Core程序集。到目前为止,还不错。但是,显然有一些在mscorlib.dll(v4)中定义的类型在FSharp.Core(v2)中“重复”,例如System.Tuple和System.IObservable。我不明白为什么这是在.Net4中。MattEllisspecificallysaidtheywouldberemovedinhisMSDNarticle:Onelanguagesufferingthat[duplication]problemwasF#,whichpreviouslyha

c# - 通用约束 : Can I test Equality of generic that can be a reference or value type?

我想要一个通用类,它可以接受引用类型或值类型,并且只执行基于相等性测试的操作。考虑以下几点:publicclassPropertywhereTProp:struct,IEquatable{publicTPropValue;publicvoidSetValue(ObservableObjectowner,TPropvalue){if(!Value.Equals(value))//cannotuse!=onstructconstrainedTProp{//...settheproperty}}}publicclassByRefPropertywhereTProp:class//Dontwa

c# - 通用类和 Type.GetType()

有点困惑,我有一个通用类publicabstractclassMyClass:UserControl{}我有一个这样的类型Typetype=Type.GetType("TypeFromDBasString",true,true);我想使用类型创建MyClass的实例...但这不起作用。MyClasscontrol=(MyClass)LoadControl("/UsercControl.ascx");有什么想法吗???? 最佳答案 像这样:TypetypeArgument=Type.GetType("TypeFromDBasStrin

c# - 为什么 <enum> 的集合无法转换为 <int?>?

为什么enum的集合无法转换为int?enumTest{A=1,B=2};int?x=(int?)Test.A;//Validvarcollection1=new[]{Test.A}.Cast().ToList();//InvalidCastExceptionhasthrown(Specifiedcastisnotvalid.)varcollection2=new[]{Test.A}.Cast().ToList(); 最佳答案 Cast方法只能进行装箱/拆箱转换、引用转换以及枚举类型与其基础整数类型之间的转换。不过,拆箱必须是正确的

c# - 是否可以创建通用的 Int-to-Enum 转换器?

我想说如果int值等于(int)MyEnum.Value,则将其解析为True我知道我可以制作一个返回(MyEnum)intValue的Converter,但是我必须为我在DataTriggers中使用的每个Enum类型制作一个转换器.是否有一种通用的方法来创建可以提供这种功能的转换器? 最佳答案 可以以可重用的方式在枚举值和它们的基础整数类型之间创建一个转换器——也就是说,您不需要为每个枚举类型定义一个新的转换器。为此,Convert和ConvertBack提供了足够的信息。publicsealedclassBidirection

c# - 调试器可视化工具和 "Type is not marked as serializable"

我正在尝试创建一个调试器可视化工具,它会显示任何Control的控件层次结构。它已完成,但我收到异常“类型未标记为可序列化”。我该如何克服呢?控件是.NETWindows窗体框架类型,我无法将其标记为可序列化。 最佳答案 您还需要实现VisualizerObjectSource执行自定义序列化。例子:publicclassControlVisualizerObjectSource:VisualizerObjectSource{publicoverridevoidGetData(objecttarget,StreamoutgoingD

c# - c#除了enum还能用什么

所以目前有一个用于应用程序状态的枚举。但是,将它用于ui时感觉有些不对劲。填充下拉列表时整数和字符串之间的许多转换。我可以使用扩展方法或类型转换器并继续使用枚举,如果枚举中有多个单词,这将很有帮助。我想在我深入挖掘之前,我会问一下是否可以填充一个可能的洞。谢谢。 最佳答案 我的团队在我们最近的项目中遇到了这个问题。我们保留了枚举,​​因为它们是用于已知常量值的有限列表的东西,但我们做了一些事情使它们对开发人员更友好:我们用包含每个枚举常量的“友好名称”的[Description()]属性修饰枚举值。我们创建了一个GetDescrip

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二

c# - 如何将类型为 "Type"的变量传递给泛型参数

我正在尝试这样做:Typetype=Type.GetType(string.Format("Gestor.Data.Entities.{0},Gestor.Data",e.Item.Value));MetaDataUtil.GetColumnasGrid();但它不起作用,你知道我该怎么做吗? 最佳答案 你需要为此使用反射。varmethod=typeof(MetaDataUtil).GetMethod("GetColumnasGrid").MakeGenericMethod(new[]{type}).Invoke(null,nul

c# - 如何判断 Type 是否是静态类?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Determineifatypeisstatic重复Determineifatypeisstatic是否有我可以检查的属性/属性来查看System.Type是否是静态类?我可以通过测试Type有静态方法,并且除了从System.Object继承的实例方法之外没有实例方法,我可以间接地做到这一点,但是它没有感觉干净(我偷偷怀疑我遗漏了什么,这不是静态类的足够严格的定义)。在明确告诉我这是一个静态类的类型上,我是否遗漏了什么?或者staticclass是c#语法糖,没有办法在IL中表达它?谢谢体重