Это может быть невозможно без сериализации объекта в байтовый массив, но я хочу иметь коллекцию объектов, единственными общими свойствами которых будут int
и bool
:
public class Speakers : IStereoComponents
{
public int Id { get; set; }
public bool RemoveMe { get; set; }
public string SomethingElse { get; set; }
}
public class Receiver : IStereoComponents
{
public int Id { get; set; }
public bool RemoveMe { get; set; }
public IList<string> Buttons { get; set; }
}
public interface IStereoComponents
{
int Id { get; set; }
bool RemoveMe { get; set; }
}
Я хочу добавить эти элементы в список или словарь и удалить или добавить их на основе идентификатора и поля RemoveMe. Я хочу быть в состоянии сделать что-то вроде:
foreach (компонент var в компонентах) component.RemoveMe == true;
Есть ли простой способ сделать это? Единственный способ сделать это - использовать отражение, сериализовав все в byte [], за исключением свойств Id и RemoveMe. Это будет тяжелая работа, я надеялся, что есть причудливый C # 4.0, делающий это? Или что-то совершенно очевидное, что мне не хватает?