A KeyValuePar<string,object> cannot be casted to your interface. You need to create instances of a class which implements it, then you can cast it to the interface type.
Assuming this is your interface and a class which implements it:
interface IItem
{
string Prop1 { get; set; }
object Prop2 { get; set; }
}
class SomeClass : IItem
{
public string Prop1
{
get;
set;
}
public object Prop2
{
get;
set;
}
}
Now you can create a IList<IItem> from your List<KeyValuePar<string,object>>:
IList<KeyValuePair<string, object>> xList = ...;
IList<IItem> y = xList
.Select(x => (IItem)new SomeClass { Prop1 = x.Key, Prop2 = x.Value })
.ToList();