public void CustomResultToOption() { // Explicit conversions CustomResult <CustomErrorTest> resultOk = Result.CustomOk <CustomErrorTest>(); Option <bool> optionBool = resultOk.ToOption(); CheckOptionValue(optionBool, true); CustomResult <CustomErrorTest> resultWarn = Result.CustomWarn <CustomErrorTest>("Warning"); optionBool = resultWarn.ToOption(); CheckOptionValue(optionBool, true); CustomResult <CustomErrorTest> resultFail = Result.CustomFail("Failure", new CustomErrorTest()); optionBool = resultFail.ToOption(); CheckOptionValue(optionBool, false); // Implicit conversions optionBool = resultOk; CheckOptionValue(optionBool, true); optionBool = resultWarn; CheckOptionValue(optionBool, true); optionBool = resultFail; CheckOptionValue(optionBool, false); }