public bool TrySimpleOk(HierarchicalNameId input, out HierarchicalNameId hierarchicalNameId) { Contract.Ensures(Contract.Result <bool>() == (Contract.ValueAtReturn(out hierarchicalNameId) != HierarchicalNameId.Invalid)); hierarchicalNameId = input; return(hierarchicalNameId != HierarchicalNameId.Invalid); // should prove - ok }
public bool TrySimpleOk4(int x, out HierarchicalNameId hierarchicalNameId) { Contract.Ensures(Contract.Result <bool>() == (Contract.ValueAtReturn(out hierarchicalNameId) != HierarchicalNameId.Invalid)); HierarchicalNameId.AssumeInvalid(HierarchicalNameId.Invalid); if (x > 0) { hierarchicalNameId = new HierarchicalNameId(x); return(true); } hierarchicalNameId = HierarchicalNameId.Invalid; return(false); }