gpt4 book ai didi

c# - 如何使用反射在泛型类型中动态确定属性属于基类还是子类?

转载 作者:可可西里 更新时间:2023-11-01 08:22:21 26 4
gpt4 key购买 nike

我有以下两个类(模型),一个是基类,另一个是子类:

public class BaseClass
{
public string BaseProperty{get;set;}
}

public class ChildClass: BaseClass
{
public string ChildProperty{get;set;}
}

在应用程序中,我使用泛型动态调用 ChildClass

List<string> propertyNames=new List<string>();
foreach (PropertyInfo info in typeof(T).GetProperties())
{
propertyNames.Add(info.Name);
}

在这里,在 propertyNames 列表中,我也正在获取 BaseClass 的属性。我只想要子类中的那些属性。这可能吗?

我试过什么?

  1. 尝试按照 question 中的说明排除它
  2. 尝试确定类是子类还是基类,如前所述here但这也无济于事。

最佳答案

你可以试试这个

foreach (PropertyInfo info in typeof(T).GetProperties()
.Where(x=>x.DeclaringType == typeof(T))) // filtering by declaring type
{
propertyNames.Add(info.Name);
}

关于c# - 如何使用反射在泛型类型中动态确定属性属于基类还是子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46195722/

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