IsValueType 的BUG
灵魂重新 2014-10-09 11:18:04 public class MyTest : MonoBehaviour
{
void Awake() {
MyClass a = new MyClass();
Debug.Log(a.ToString());
}
}
class MyClass:NorMal
{
public int name;
public char name1;
public long name2;
public string name3;
public MyClassb test;
public string ToString(){
FieldInfo[] field = this.GetType().GetFields();
StringBuilder tmp = new StringBuilder();
for (int i = 0; i < field.Length; i++)
{
FieldInfo item = field[i];
//这里全部打印 IsClass ??
Debug.Log(item.GetType().IsClass ? "IsClass" : "Not Class");
//这里全部打印 Not ValueType ??
Debug.Log(item.GetType().IsValueType ? "IsValueType" : "Not ValueType");
if (item.GetValue(this) != null)
{
tmp.Append(item.GetValue(this).ToString() + " _: ");
Debug.Log("value :" + item.Name);
}
}
return tmp.ToString();
}
}
class MyClassb:MyClass
{
}
问题如下:
//这里全部打印 IsClass ??
Debug.Log(item.GetType().IsClass ? "IsClass" : "Not Class");
//这里全部打印 Not ValueType ??
Debug.Log(item.GetType().IsValueType ? "IsValueType" : "Not ValueType");