je suis arrivé le code suivant:filtre « propres membres » avec BindingFlags
public class PluginShape : INotifyPropertyChanged
{
private string _Name;
public string Name
{
get { return _Name; }
set
{
_Name = value;
RaisePropertyChanged("Name");
}
}
#region Implement INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
public class SpeedGenerator : PluginShape
{
private int _SpeedValue;
public int SpeedValue
{
get { return _SpeedValue; }
set
{
_SpeedValue = value;
RaisePropertyChanged("SpeedValue");
}
}
public SpeedGenerator()
{
Name = "DefaultName";
}
}
J'aimerais filtrer les propriétés afin que je ne reçois que la propriété SpeedValue. Je pensais que le code suivant sera ok, mais il ne fonctionne pas:
var props = obj.GetType().GetProperties();
var filteredProps = obj.GetType().GetProperties(BindingFlags.DeclaredOnly);
dans « accessoires » Je suis les deux propriétés SpeedValue et nom, mais dans « filteredProps » Je n'ai rien ... Toute aide s'il vous plaît ?
La liste est vide aussi :( –
@GuillaumeCogranne: J'ai mis à jour ma réponse – Heinzi
ok, je n'ai pas compris comment cela fonctionne, cela fonctionne, grâce à vous :) –