public string fieldName 
{
   get
  {
      return fieldName;
  }
  set
  {
     fieldName = value;
  }
}
属性的读和写(get和set)代码里面不应该对属性自己操作,应该操作其他变量(一般是个private的变量),你现在的代码就等于是和无限的死递归,所以线程内存消耗完了,就会堆栈溢出异常