コード例 #1
0
ファイル: SpellDBC.cs プロジェクト: ydxjj/Spell-Editor-GUI-V2
        public static Spell_DBC_Record GetRowToRecord(DataRow row)
        {
            var record = new Spell_DBC_Record();
            var fields = record.GetType().GetFields();

            foreach (var f in fields)
            {
                switch (Type.GetTypeCode(f.FieldType))
                {
                case TypeCode.UInt32:
                {
                    f.SetValueForValueType(ref record, UInt32.Parse(row[f.Name].ToString()));
                    break;
                }

                case TypeCode.Int32:
                {
                    f.SetValueForValueType(ref record, Int32.Parse(row[f.Name].ToString()));
                    break;
                }

                case TypeCode.Single:
                {
                    f.SetValueForValueType(ref record, Single.Parse(row[f.Name].ToString()));
                    break;
                }
                }
            }
            return(record);
        }
コード例 #2
0
        public static Spell_DBC_Record GetRowToRecord(DataRow row)
        {
            var record = new Spell_DBC_Record();

            record.SpellName             = new UInt32[9];
            record.SpellDescription      = new UInt32[9];
            record.SpellRank             = new UInt32[9];
            record.SpellToolTip          = new UInt32[9];
            record.SpellNameFlag         = new UInt32[8];
            record.SpellDescriptionFlags = new UInt32[8];
            record.SpellRankFlags        = new UInt32[8];
            record.SpellToolTipFlags     = new UInt32[8];
            var fields = record.GetType().GetFields();

            foreach (var f in fields)
            {
                switch (Type.GetTypeCode(f.FieldType))
                {
                case TypeCode.UInt32:
                case TypeCode.Int32:
                {
                    f.SetValueForValueType(ref record, row[f.Name]);
                    break;
                }

                case TypeCode.Single:
                {
                    f.SetValueForValueType(ref record, Single.Parse(row[f.Name].ToString()));
                    break;
                }
                }
            }
            return(record);
        }