gpt4 book ai didi

c# - 检测类属性是否为引用类型

转载 作者:IT王子 更新时间:2023-10-29 04:17:45 25 4
gpt4 key购买 nike

是否有可能在查看类的属性时检测它们是否是引用类型。

以下面为例:

public class Client
{
public int Id { get; set; }
public string Name { get; set; }
}

public class ProgrammeClient
{
public int Id { get; set; }
public bool IsActive { get; set; }
public IClient Client { get; set; }
}

程序客户端:-
Id 和 IsActive 是属性,但 Client 是引用类型。有没有办法检测到这一点?

非常感谢,可汗。

附录

我问的原因是:我使用的映射器在匹配属性名称和复制值之前检查类型是否相同。我的希望是检测类并覆盖类型匹配,如果类型匹配则简单地复制类属性。

最佳答案

嗯,听起来您可能正在尝试检测值类型和引用类型之间的区别。您可以使用 Type.IsValueType 找到它...但请注意,值类型也可以很容易地拥有属性。 (以 DateTime 为例。)另外,一些您可能希望视为“非对象”的类型是引用类型 - string 是一个主要示例。

另一种选择是使用 Type.IsPrimitive - 是您要找的吗?如果是这样,您应该知道 decimalDateTimestring 不是原始类型。

如果您可以准确地描述是什么让类型成为您思维方式中的“对象”(或者更确切地说,以任何方式在您尝试对类型执行的操作中产生语义差异).我怀疑您目前没有一套非常明确的标准 - 提出这些标准也可以很好地阐明您当前任务的其他方面。

关于c# - 检测类属性是否为引用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628395/

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