C# Comment convertir un objet avec IList à IList<object>?

J'ai un objet qui implémente IList interface, j'ai envie de le jeter aux IList<object> ou
List<object>,
J'ai essayé

IList<object> a=(IList<object>)b;
List<object> a=(IList<object>)b;
IList<object> a=(List<object>)b;
List<object> a=(List<object>)b;

Ce ne sont pas de travail. S'il vous plaît aider, merci.
Pour clarifier:

b est un objet de passer en paramètre de l'extérieur. Il implémente l'interface IList. Par exemple,

public class a
{
  string name;
  List<a> names;
}
public void func(object item)
{
  object dataLeaves = data.GetType().GetProperty("names").GetValue(dataInput, null);
  if (dataLeaves != null && dataLeaves.GetType().GetInterfaces().Any(t =>t.IsGenericType && t.GetGenericTypeDefinition() == typeof(IList<>)))
  {
    List<object> a=(List<object>) dataLeaves; //Need to convert the dataLeaves to list or IList
  }
}
Quelle est l'erreur?
Qu'est-ce que b ? ? ?
b semble être IList, qui est nécessaire pour être converti à IList<object>
de quel type b? comment est-il déclaré?
b est un objet de passer en paramètre de l'extérieur. Il implémente l'interface IList. Par exemple, b est une Liste<customType>, et de passer de l'objet à la fonction. Je veux convertir b pour une Liste<object>.

OriginalL'auteur Lance H | 2013-02-07