private Dictionary <string, ScriptFunction> m_Functions;         //所有的函数
 public DefaultScriptUserdataObject(Script script, object value) : base(script)
 {
     this.Value     = value;
     this.ValueType = (Value is Type) ? (Type)Value : Value.GetType();
     m_FieldInfos   = new Dictionary <string, ScriptUserdataField>();
     m_NestedTypes  = new Dictionary <string, ScriptUserdata>();
     m_Functions    = new Dictionary <string, ScriptFunction>();
     m_Constructor  = new ScorpioMethod(ValueType.ToString(), ValueType.GetConstructors());
     MethodInfo[] methods = ValueType.GetMethods(Script.BindingFlag);
     for (int i = 0; i < methods.Length; ++i)
     {
         string name = methods[i].Name;
         if (!m_Functions.ContainsKey(name))
         {
             m_Functions.Add(name, Script.CreateFunction(new ScorpioMethod(ValueType, name, Value)));
         }
     }
 }