Предположим, у меня есть
List<dynamic> myList = new List<dynamic>();
Внутри класса:
public class DynamicMixin : DynamicObject
{
internal List<dynamic> myList= new List<dynamic>();
public void AddInterface<T>(T _item) where T:class{
Interfaces.Add(_item);
}
public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
{
if (myList.Contains((item)=>item.GetType().Equals(indexes[0].GetType())){
/* do something */
}
return base.TryGetIndex(binder, indexes, out result);
}
}
Я пытаюсь написать myDynamicObject [typeof (IDisposable)], поэтому я бы получил объект IDiposable, которыйпринадлежит myDynamicObject.
В этой строке выдается ошибка:
if (myList.Contains((item)=>item.GetType().Equals(indexes[0].GetType())){
Невозможно преобразовать лямбда-выражение в тип 'dynamic', поскольку оно не является типом делегата
Я могу сделать это, перебирая список: но почему я не могу использовать Contains
?