Фильтрация защищенных сеттеров при type.GetProperties ()

Я пытаюсь отразить тип и получить только свойства с общедоступными установщиками. Похоже, у меня это не работает. В приведенном ниже примере скрипта LinqPad «Id» и «InternalId» возвращаются вместе с «Hello». Что я могу сделать, чтобы отфильтровать их?

void Main()
{
    typeof(X).GetProperties(BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance)
    .Select (x => x.Name).Dump();
}

public class X
{
    public virtual int Id { get; protected set;}
    public virtual int InternalId { get; protected internal set;}
    public virtual string Hello { get; set;}
}
5
задан mcintyre321 26 September 2011 в 17:20
поделиться