J'écris une méthode de clonage en utilisant la réflexion. Comment puis-je détecter qu'une propriété est une propriété indexée en utilisant la réflexion? Par exemple:Propriétés indexées par réflexion C#
public string[] Items
{
get;
set;
}
Ma méthode à ce jour:
public static T Clone<T>(T from, List<string> propertiesToIgnore) where T : new()
{
T to = new T();
Type myType = from.GetType();
PropertyInfo[] myProperties = myType.GetProperties();
for (int i = 0; i < myProperties.Length; i++)
{
if (myProperties[i].CanWrite && !propertiesToIgnore.Contains(myProperties[i].Name))
{
myProperties[i].SetValue(to,myProperties[i].GetValue(from,null),null);
}
}
return to;
}
Ce n'est pas une propriété indexée, qui est une propriété qui retourne un tableau. –
Cette question doit être modifiée par un modérateur. C'est le meilleur résultat google pour trouver une propriété d'indexeur mais ce n'est pas ce que l'exemple de code illustre. La moitié des réponses ci-dessous répondent à la question et la moitié de l'exemple de code. –