我有一个Person继承的类EntityBase:
public class Person : EntityBase
{
virtual public string FirstName { get; set; }
virtual public string LastName { get; set; }
virtual public IList<Asset> Assets { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和
public class EntityBase : IEntity
{
public virtual long Id { get; protected set; }
public virtual IEnumurable<string> Errors { get; protected set; }
}
Run Code Online (Sandbox Code Playgroud)
我需要获取Person不是集合的类的属性列表
现在GetProperties()包括:FirstName, LastName, Assets, Id, Errors但我只需要数组属性:FirstName, LastName, Id
如何获取不收集的属性?
您可以按属性的返回类型进行筛选.我怀疑你想要过滤掉任何实现的东西IEnumerable,但不是 string(实现IEnumerable<char>,但你想保留).所以类似于:
var properties = type.GetProperties()
.Where(p => p.PropertyType == typeof(string) ||
!typeof(IEnumerable).IsAssignableFrom(p.PropertyType));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |