【问题标题】:How do I use reflection to see if a field in a class is another class如何使用反射来查看一个类中的字段是否是另一个类
【发布时间】:2014-11-12 17:29:17
【问题描述】:

我有一个非常简单的对象,例如:

public class ChargeTemplate
{
    public string ChargeTemplateType;
    public string TemplateCode;
    public string ChargeDescription;
    public string Active;

    public Calculation ChargeTemplateCalculation;
    public TApplication ChargeTemplateApplication;
    public Taxation ChargeTemplateTaxation;
}

我正在填写一些字段,然后将其传递给此方法:

public void FillChargeTemplateFields(object items)
{

 foreach (var prop in items.GetType().GetFields())
 {
   ...
 }

}

在里面我抓住了名字和价值。

当我开始进行计算时,我想知道它是一个带有字段的新类,以便我可以将它放回到方法中以获取它的字段名称和值。但我似乎无法弄清楚如何确定它也是一个类。我该怎么做?

【问题讨论】:

  • 看看这个,它可能会有所帮助。 stackoverflow.com/questions/2742276/…
  • 是的,我有。在过去的一个小时里,我已经研究了一些很接近但没有提供我需要的答案的问题。
  • 什么是你想再次调用你的方法的类型?
  • 只是另一个包含字段的类。
  • 这还不够具体——System 中有许多类型符合该标准

标签: c# object reflection field


【解决方案1】:

在 FieldType 中查找命名空间名称使我能够确定它是我的类之一,此时我只是将值传回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 2021-08-11
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多