【问题标题】:get type of properties in C# reflection在 C# 反射中获取属性类型
【发布时间】:2014-05-30 16:17:47
【问题描述】:
public class A
{
    public int i;
    public string s;
}

public class B
{
    public int bi;
    public A A;
}

在这里我得到了class B 的属性,它又返回了两个可用的属性。 但是,我需要将普通类属性与复杂属性区分开来。 我需要以不同的方式处理class BA 属性。有人可以建议我如何编写代码来确定这个属性是另一个类的类型吗?

我只是在Class B 中举了一个Class A 作为孩子的例子。实时,可以有很多孩子。

【问题讨论】:

  • 您可能想在此处检查您的术语:class Aclass B 在您的示例中都没有任何属性 - 它们有字段。
  • @Chris,是的,你说得对。我的意思只是属性,错误地输入了变量:)

标签: c# asp.net-mvc-4 c#-5.0


【解决方案1】:

我将假设“普通类属性”和“复杂属性”是指值和引用类型,正如您的示例所暗示的那样。

如果是这种情况,可以使用Type.IsValueType检查每个字段或属性的类型是否为值类型。如果它不是值类型,那意味着它是对另一个类的引用,你可以采取相应的行动。

【讨论】:

  • System.String 不是值类型。在您的回答情况下,它将被视为非值类型进入复杂类型流,这不是我需要的
猜你喜欢
  • 2018-06-05
  • 2016-05-10
  • 1970-01-01
  • 2010-12-20
  • 2011-02-15
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多