All your getters properties return the properties themselves, not field names with prefix prefixes.
public string TestType { set { _TestType = value; } get { return (TestType); } }
Instead of return _TestType you perform return TestType , so the getter property continues to be accessed again and again, which leads to infinite recursion and, ultimately, to an overflow of the call stack.
In addition, parentheses are not necessary for the return values (unless you are evaluating some complex expression that you are not in this case).
Modify your getters to use prefix fields instead (do this for all your properties):
public string TestType { set { _TestType = value; } get { return _TestType; } }
Or make them automatic properties , as others suggest if you use C # 3.0.
Boltclock
source share