Контракты кода C # - Как обеспечить, чтобы коллекция элементов содержала элементы с уникальными свойствами?

В основном у меня есть следующее:

public class MyClass
{
    public MyClass(ICollection<MyObject> coll)
    {
        Contract.Requires(coll != null);
        Contract.Requires(Contract.ForAll(coll, obj => obj != null));
        Contract.Requires(Contract.ForAll(coll, obj => (????)); //What goes here?
    }
}

public class MyObject
{
    public object PropA { get; set; }
    public object PropB { get; set; }
}

Требования следующие:

  • Все элементы PropA в коллекции уникальны (без дубликатов)
  • Все элементы PropB в коллекция уникальна (без дубликатов)

Кажется, не могу понять, что делать здесь с моим Contract.ForAll (...) .


Бонус: если я могу объединить Contract.ForAll (...) операторов без разрушения контрактов кода?

5
задан m-y 13 December 2011 в 15:36
поделиться