C# Réflexion Indexé Propriétés

Je suis en train d'écrire une méthode Clone à l'aide de la réflexion. Comment puis-je détecter qu'une propriété est une propriété indexée à l'aide de la réflexion? Par exemple:

public string[] Items
{
   get;
   set;
}

Ma méthode de mesure:

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é par un modérateur. Il est à la tête des résultats sur google pour trouver un indexeur de propriété, mais ce n'est pas ce que l'exemple de code illustre. La moitié des réponses ci-dessous la réponse à la question et la moitié de l'exemple de code.
InformationsquelleAutor Greg Finzer | 2008-11-14