internal static String _ToString(CompileTimeValue value) { switch (value.Interpretation) { case CompileTimeInterpretation.Null: return ""; case CompileTimeInterpretation.String: string str; if (!value.TryGetString(out str)) goto default; return str; case CompileTimeInterpretation.Int: int integer; if (!value.TryGetInt(out integer)) goto default; return integer.ToString(); case CompileTimeInterpretation.Bool: bool boolean; if (!value.TryGetBool(out boolean)) goto default; return boolean.ToString(); default: throw new ArgumentOutOfRangeException(); } }