反射-接口类的GetProperties
本文关键字:GetProperties 接口 反射 | 更新日期: 2023-09-27 17:50:14
我使用重选来遍历类的Public属性。
foreach (PropertyInfo prop in instance.GetType().GetProperties())
{
...do work
这获得了所有公共属性。然而,我只想获得公共属性是接口。例如,下面我想得到"会话"(这是一个接口),但不是帮助。
public ISession Session { get; set; } //My Interface - i want this
public string Help { get; set; } //I dont want this
使用Type.IsInterface
来确定属性的类型是否为接口类型
Type t = typeof ( YourType );
foreach ( PropertyInfo p in t.GetProperties () )
{
if ( p.PropertyType.IsInterface )
{
// p is an interface property
}
}