gpt4 book ai didi

c# - .NET中如何使用反射判断和检查程序集中的类型是Custom类型还是Primitive类型?

转载 作者:太空狗 更新时间:2023-10-29 17:43:58 25 4
gpt4 key购买 nike

是否可以在运行时检查给定类型是自定义数据类型还是 .NET 的原始数据类型之一?

我在程序集中定义了用户定义的类型,所有这些类型都是一些结构。我需要调用参数是那些结构的用户定义类型的方法。因此,这需要在使用反射在运行时调用这些函数之前相应地填充数据。

现在反射中是否有任何可用的方法,我们可以通过它来跟踪给定数据类型是自定义数据类型还是原始数据类型。我知道 IsClass 属性,但我的目标用户定义数据类型不是类,这些公共(public)数据类型是 STRUCTS。

最佳答案

我会选择类似的东西:

static bool IsFundamental(this Type type)
{
return type.IsPrimitive || type.Equals(typeof(string)) || type.Equals(typeof(DateTime));
}

选择 stringDateTime 作为 the types for which IsPrimitive returns true 的补充但是,这是一个主观问题,因为没有绝对的列表......最终的选择是你的(例如,你可能还想包括 decimal);它应该绝对被记录(至少在注释中,最好是 XML 注释)。

关于c# - .NET中如何使用反射判断和检查程序集中的类型是Custom类型还是Primitive类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com