static bool MyMethodA() { bool retVal = true; //retVal is true //check for retVal = true and MyMethodB returns true retVal = retVal && MyMethodB(out retVal); //retVal is now false return retVal; //returns false } static bool MyMethodB(out bool retVal) { //bool retVal = false; //Do Something retVal = 1 + 1 > 0; //still true if (retVal) //passes since retVal = true { retVal = 2 + 2 < 0; //set retVal to false } return retVal; //return false }Am I not understanding your problem?