Я пытаюсь использовать инварианты (библиотеку контрактов кода) в моей программе внутри класса парковки, где реализованы все мои методы, но появляется «Имя не существует в текущем контексте». Выделенные слова, как представляется, создают проблему. conferenceID и parkingID принадлежат двум разным классам, которые находятся за пределами класса CarPark.Вот что я пробовал до сих пор.
class Program
{
public class Conferences
{
public int conferenceID { get; set; }
public Parking[] parkingArray { get; set; }
public DateTime DateTime { get; set; }
}
public class Parking
{
public int parkingID { get; set; }
public bool parkingIsReserved { get; set; }
public bool parkingIsPurchased { get; set; }
public bool parkingisReservedBy { get; set; }
public DateTime DateTime { get; set; }
}
[ContractInvariantMethod]
void ObjectInvariant()
{
Contract.Invariant(**conferenceID** >= 0 && conferenceID <= totalConferences);
Contract.Invariant(**parkingID** >= 0 && parking <= maxParkingSpaces);
Contract.Invariant(parkingID <= availableParkings);
}