Esempio n. 1
0
        /// <summary>
        /// 保存属性与域的数据
        /// </summary>
        public void Save()
        {
            foreach (var key in propertyDataNameDict.Keys)
            {
                UserDataManager.SetData(propertyDataNameDict[key][1], propertyDataNameDict[key][0], key.GetValue(this, new object[0]));
            }

            foreach (var key in fieldDataNameDict.Keys)
            {
                UserDataManager.SetData(fieldDataNameDict[key][1], fieldDataNameDict[key][0], key.GetValue(this));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 加载属性、域和函数的数据
        /// </summary>
        public void Load()
        {
            foreach (var key in propertyDataNameDict.Keys)
            {
                var val = UserDataManager.GetDataOrDef(propertyDataNameDict[key][1], propertyDataNameDict[key][0],
                                                       propertyDefaultValueDict[key], key.PropertyType);
                key.SetValue(this, val, new object[0]);
            }

            foreach (var key in fieldDataNameDict.Keys)
            {
                var val = UserDataManager.GetDataOrDef(fieldDataNameDict[key][1], fieldDataNameDict[key][0],
                                                       fieldDefaultValueDict[key], key.FieldType);
                key.SetValue(this, val);
            }

            foreach (var key in methodDataNameDict.Keys)
            {
                var val = UserDataManager.GetDataOrDef(methodDataNameDict[key][1], methodDataNameDict[key][0],
                                                       methodDataNameDict[key], key.GetParameters()[0].ParameterType);
                key.Invoke(this, new object[] { val });
            }
        }