草庐IT

c# - 从类型的部分名称获取 System.Type

我想得到一个System.Type,只给string中的类型名称。例如,如果我有一个对象:MyClassabc=newMyClass();然后我可以说:System.Typetype=abc.GetType();但是如果我只有:stringclassName="MyClass"; 最佳答案 这取决于该类是哪个程序集。如果它在mscorlib中或调用程序集,您只需要Typetype=Type.GetType("namespace.class");但如果它是从其他程序集引用的,则需要执行以下操作:Assemblyassembly=typ

c# - 招摇错误: Conflicting schemaIds: Duplicate schemaIds detected for types A and B

使用WebAPI并使用swashbuckle生成swagger文档,我在两个不同的命名空间中定义了两个具有相同名称的不同类。当我在浏览器中打开swagger页面时,它显示ConflictingschemaIds:DuplicateschemaIdsdetectedfortypesAandB.Seetheconfigsetting-"UseFullTypeNameInSchemaIds"forapotentialworkaround完整信息:500:{"Message":"Anerrorhasoccurred.","ExceptionMessage":"Conflictingschema

c# - 招摇错误: Conflicting schemaIds: Duplicate schemaIds detected for types A and B

使用WebAPI并使用swashbuckle生成swagger文档,我在两个不同的命名空间中定义了两个具有相同名称的不同类。当我在浏览器中打开swagger页面时,它显示ConflictingschemaIds:DuplicateschemaIdsdetectedfortypesAandB.Seetheconfigsetting-"UseFullTypeNameInSchemaIds"forapotentialworkaround完整信息:500:{"Message":"Anerrorhasoccurred.","ExceptionMessage":"Conflictingschema

c# - 如何确定对象类型是否为内置系统类型

我正在写一个简单的List到CSV转换器。我的转换器检查所有t在List中并获取所有公共(public)属性并将它们放入CSV中。当您使用具有一些属性的简单类时,我的代码工作得很好(如预期的那样)。我想得到ListCSV转换器也接受系统类型,如字符串和整数。对于这些系统类型,我不想获得它们的公共(public)属性(例如Length、Chars等)。因此我想检查对象是否是系统类型。我所说的系统类型是指内置的.Net类型之一,例如string,int32,double等使用GetType()我可以找到以下内容:stringmyName="JoeDoe";boolisPrimitive=m

c# - 如何确定对象类型是否为内置系统类型

我正在写一个简单的List到CSV转换器。我的转换器检查所有t在List中并获取所有公共(public)属性并将它们放入CSV中。当您使用具有一些属性的简单类时,我的代码工作得很好(如预期的那样)。我想得到ListCSV转换器也接受系统类型,如字符串和整数。对于这些系统类型,我不想获得它们的公共(public)属性(例如Length、Chars等)。因此我想检查对象是否是系统类型。我所说的系统类型是指内置的.Net类型之一,例如string,int32,double等使用GetType()我可以找到以下内容:stringmyName="JoeDoe";boolisPrimitive=m

c# - 为什么 NaN(不是数字)仅适用于 double ?

我有一个包含两个可为null的小数属性的业务类。第三个属性返回其他两个属性相乘的结果。如果HasValue对于两个可为null的类型都为真,则我乘以并返回结果。如果一个或两个属性为null,我有几个返回值选项:返回0抛出异常返回一个魔数(MagicNumber)(-1)返回小数?(编辑——见评论)我认为我的选择之一是返回NaN,但我发现这只适用于double类型。这是为什么?郑重声明,在这种情况下返回0最有意义,这就是我打算做的,除非有人有更好的建议。 最佳答案 .NET中的整数类型使用二进制补码系统进行表示。虽然他们可以为特殊值保

c# - 为什么 NaN(不是数字)仅适用于 double ?

我有一个包含两个可为null的小数属性的业务类。第三个属性返回其他两个属性相乘的结果。如果HasValue对于两个可为null的类型都为真,则我乘以并返回结果。如果一个或两个属性为null,我有几个返回值选项:返回0抛出异常返回一个魔数(MagicNumber)(-1)返回小数?(编辑——见评论)我认为我的选择之一是返回NaN,但我发现这只适用于double类型。这是为什么?郑重声明,在这种情况下返回0最有意义,这就是我打算做的,除非有人有更好的建议。 最佳答案 .NET中的整数类型使用二进制补码系统进行表示。虽然他们可以为特殊值保

c# - typeof 和 is 关键字有什么区别?

两者之间的确切区别是什么?//WhencallingthismethodwithGetByType()publicboolGetByType(){//thisreturnstrue:returntypeof(T).Equals(typeof(MyClass));//thisreturnsfalse:returntypeof(T)isMyClass;} 最佳答案 您应该在实例上使用isAClass而不是比较类型:varmyInstance=newAClass();varisit=myInstanceisAClass;//trueis也

c# - typeof 和 is 关键字有什么区别?

两者之间的确切区别是什么?//WhencallingthismethodwithGetByType()publicboolGetByType(){//thisreturnstrue:returntypeof(T).Equals(typeof(MyClass));//thisreturnsfalse:returntypeof(T)isMyClass;} 最佳答案 您应该在实例上使用isAClass而不是比较类型:varmyInstance=newAClass();varisit=myInstanceisAClass;//trueis也

c# - 如何以编程方式检查类型是结构还是类?

如何以编程方式检查类型是结构还是类? 最佳答案 使用Type.IsValueType:GetsavalueindicatingwhethertheTypeisavaluetype.像这样使用它:typeof(Foo).IsValueType或者像这样在执行时:fooInstance.GetType().IsValueType反过来还有一个Type.IsClass属性(在我看来应该称为IsReferenceType但无论如何)根据您正在测试的内容,它可能更适合您的用途,也可能不适合您的用途。如果没有bool否定,代码似乎总能更好地阅读