Currently contract attributes placed on properties create pre and postconditions, without any options. Ideally each contract should be able to be applied to get, set, or both.
One possible solution is to create an enumeration for these options and add a public property to ContractAttribute to allow specification.
[Flags]
enum PropertyAccessors {
None = 0,
Get = 1,
Set = 2,
Both = Get | Set
}