public override string ToString() { if (Valid) { return(string.Format("[ShaderProgram: Valid={0}]", Valid)); } if (ErrorObject == null) { return(string.Format("[ShaderProgram: Valid={0}", Valid)); } if (ErrorObject == this) { return(string.Format("[ShaderProgram: Valid={0} ErrorObject=this ErrorMessage={1}]", this, ErrorMessage)); } return(string.Format("[ShaderProgram: Valid={0} ErrorObject={1} ErrorMessage={2}]", Valid, ErrorObject.GetType().Name, ErrorObject.ErrorMessage)); }