using System; public static class NumericParsingExtender { public static Int32 ToInt32(this String input, Int32 defaultValue = 0) { if (String.IsNullOrEmpty(input)) return defaultValue; Int32 val; return Int32.TryParse(input, out val) ? val : defaultValue; } } public class PseudoControl { public String Text { get; set; } public PseudoControl(String text) { this.Text = text; } } public class Test { public static void Main() { PseudoControl txtChild1 = new PseudoControl("12"); PseudoControl txtChild2 = new PseudoControl(null); PseudoControl txtChild3 = new PseudoControl(String.Empty); PseudoControl txtWife1 = new PseudoControl("42"); PseudoControl txtWife2 = new PseudoControl("invalid"); PseudoControl txtWife3 = new PseudoControl("20.13"); Int32 total = txtChild1.Text.ToInt32() + txtChild2.Text.ToInt32() + txtChild3.Text.ToInt32() + txtWife1.Text.ToInt32() + txtWife2.Text.ToInt32() + txtWife3.Text.ToInt32(); Console.WriteLine("Total: {0}", total); } }