首页 新闻 会员 周边 捐助

item.Cells[2].Text = GlobalCode.CommonDiction["WordLicenses"][((TC_TaxiCompanyInfo)item.DataItem).Wo

0
悬赏园豆:15 [已解决问题] 解决于 2015-04-27 21:32

item.Cells[2].Text = GlobalCode.CommonDiction["WordLicenses"][((TC_TaxiCompanyInfo)item.DataItem).WordLicenses.ToString()].ToString();

 

 

GlobalCode.CommonDiction是个字典项集合,我怎么才能知道他怎么傅德志?

需要哪段代码,才能给我分析出来?

asdfgqq的主页 asdfgqq | 初学一级 | 园豆:8
提问于:2015-04-03 10:19
< >
分享
最佳答案
0

不明白你的意思、

收获园豆:15
519740105 | 大侠五级 |园豆:5810 | 2015-04-03 10:58

这里的GlobalCode.CommonDiction是个字典集合,我想知道他在什么时候被付的值?

它里面的数据来自一张表,我想知道它怎么实现的

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:00

@asdfgqq: 看你的源代码 GlobalCoe.CommonDiction。

如果你用的是Unity,则研究下Unity的架构。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:04

@519740105: 

public class GlobalCode
{
    // Fields
    private static CommonDictionCollection _commonDiction;
    private static CommonDictionCollection _commonOrderByDiction;

    // Methods
    public static void AddDictionary(string DictionaryCode, string Name)
    {
        _commonDiction.Add(DictionaryCode, new SortedList());
        _commonOrderByDiction.Add(DictionaryCode, new SortedList());
    }

    public static void AddDictionaryItem(string DicItemCode, string Name, string DictionaryCode)
    {
        _commonDiction[DictionaryCode].Add(DicItemCode, Name);
        _commonOrderByDiction[DictionaryCode].Add(DicItemCode, Name);
    }

    private static void CreateCommonDiction(List<DictionaryItemModel> dicts, List<DictionaryItemModel> allDictItems)
    {
        _commonDiction = new CommonDictionCollection();
        _commonOrderByDiction = new CommonDictionCollection();
        IniYesOrNo();
        IniGender();
        IniIdentifyStatus();
        IniTimeScaleList(0x18, CodeType.HourList.ToString());
        IniTimeScaleList(60, CodeType.MinuteSecondList.ToString());
        if ((dicts != null) && (allDictItems != null))
        {
            foreach (DictionaryItemModel model in dicts)
            {
                SortedList list = CreateCommonDictionItem(model.DicItemCode, allDictItems);
                _commonDiction.Add(model.DicItemCode, list);
                SortedList list2 = CreateOrderByCommonDictionItem(model.DicItemCode, allDictItems);
                _commonOrderByDiction.Add(model.DicItemCode, list2);
            }
        }
    }

    private static SortedList CreateCommonDictionItem(string DictionaryCode, List<DictionaryItemModel> allDictItems)
    {
        SortedList list = new SortedList();
        List<DictionaryItemModel> list2 = GetList(DictionaryCode, allDictItems);
        foreach (DictionaryItemModel model in list2)
        {
            list.Add(model.DicItemCode, model.Name);
        }
        return list;
    }

    private static SortedList CreateOrderByCommonDictionItem(string DictionaryCode, List<DictionaryItemModel> allDictItems)
    {
        SortedList list = new SortedList();
        List<DictionaryItemModel> list2 = GetList(DictionaryCode, allDictItems);
        foreach (DictionaryItemModel model in list2)
        {
            list.Add(model.DicItemCode + "|" + model.OrderIndex.ToString(), model.Name);
        }
        return list;
    }

    public static void DeleteDictionaryItem(string DicItemCode, string DictionaryCode)
    {
        _commonDiction[DictionaryCode].Remove(DicItemCode);
    }

    public static void DeleteOrderByDictionaryItem(string DicItemCode, string DictionaryCode)
    {
        _commonOrderByDiction[DictionaryCode].Remove(DicItemCode);
    }

    private static List<DictionaryItemModel> GetList(string DictionaryCode, List<DictionaryItemModel> allDictItems)
    {
        List<DictionaryItemModel> list = new List<DictionaryItemModel>();
        foreach (DictionaryItemModel model in allDictItems)
        {
            if (model.DictionaryCode.Equals(DictionaryCode))
            {
                list.Add(model);
            }
        }
        return list;
    }

    private static DictionaryItemModel GetModel(string DicItemCode, List<DictionaryItemModel> allDictItems)
    {
        foreach (DictionaryItemModel model in allDictItems)
        {
            if (model.DicItemCode.Equals(DicItemCode))
            {
                return model;
            }
        }
        return null;
    }

    public static void IniCommonDictionary(List<DictionaryItemModel>[] models)
    {
        List<DictionaryItemModel> dicts = models[0];
        List<DictionaryItemModel> allDictItems = models[1];
        CreateCommonDiction(dicts, allDictItems);
    }

    private static void IniGender()
    {
        SortedList list = new SortedList();
        list.Add("1", "");
        list.Add("2", "");
        _commonDiction.Add(CodeType.Gender.ToString(), list);
        list = new SortedList();
        list.Add("1|1", "");
        list.Add("2|2", "");
        _commonOrderByDiction.Add(CodeType.Gender.ToString(), list);
    }

    private static void IniIdentifyStatus()
    {
        SortedList list = new SortedList();
        list.Add("1", "活动");
        list.Add("0", "禁止");
        _commonDiction.Add(CodeType.IdentifyStatus.ToString(), list);
        list = new SortedList();
        list.Add("1|1", "活动");
        list.Add("0|2", "禁止");
        _commonOrderByDiction.Add(CodeType.IdentifyStatus.ToString(), list);
    }

    private static void IniTimeScaleList(int iScale, string ditcKey)
    {
        int num;
        SortedList list = new SortedList();
        for (num = 0; num < iScale; num++)
        {
            string key = num.ToString("D2");
            list.Add(key, num.ToString());
        }
        _commonDiction.Add(ditcKey, list);
        list = new SortedList();
        for (num = 0; num < iScale; num++)
        {
            string introduced5 = num.ToString("D2") + "|" + ((num + 1)).ToString();
            list.Add(introduced5, num.ToString());
        }
        _commonOrderByDiction.Add(ditcKey, list);
    }

    private static void IniYesOrNo()
    {
        SortedList list = new SortedList();
        list.Add("1", "");
        list.Add("0", "");
        _commonDiction.Add(CodeType.YesOrNo.ToString(), list);
        list = new SortedList();
        list.Add("1|1", "");
        list.Add("0|2", "");
        _commonOrderByDiction.Add(CodeType.YesOrNo.ToString(), list);
    }

    public static void UpdateDictionaryItem(string DicItemCode, string Name, string DictionaryCode)
    {
        _commonDiction[DictionaryCode][DicItemCode] = Name;
    }

    // Properties
    public static CommonDictionCollection CommonDiction
    {
        get
        {
            return _commonDiction;
        }
    }

    public static CommonDictionCollection CommonOrderByDiction
    {
        get
        {
            return _commonOrderByDiction;
        }
    }
}

 
Collapse Methods
 


这是代码,这些都是啥????求解答

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:07

@asdfgqq: 

看这些代码,你的团队里应该有一个高人吧?

1、跟踪下IniCommonDictionary方法是谁调用的,怎么调用的

2、跟踪所有的public方法的调用情况。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:15

@519740105: 大侠,我该如何跟踪??这些都是我反编译的。。。。

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:18

@519740105: 大侠,我该如何跟踪??这些都是我反编译的。。。。

我们公司有高人,惊讶,,,

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:19

@asdfgqq: 那你应该去找高人。

 

你反编译的?那么内部应该是有调用的,只能你自己去找源代码来查看了。

 

既然公司这样做了,这说明:

1、这短代码有隐私,不能随便公开

2、你们是一个大团队,分工很明确

3、你的技术能力还不够,还不能接触到这个级别的代码。

 

你可以跟你们团队的高手聊聊。作为使用者,只要知道怎么使用就好。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:30

@519740105: 。。。。。。。。。。。,

大侠,我想自己研究一下,不知道有没有办法,跟踪,分析一下代码。

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:35

@asdfgqq: 当然有办法,只要代码还能编译。可以把引用到这个类的模块之类的都找到,进行逐步反编译后查找。

但这个查找可能很辛苦,如果你连你们的项目的文档都没有的话。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:37

@519740105: 我能反编译代码,在vs上能看到团队项目,还能看到数据库

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:41

@asdfgqq: 那就行了。

你通过这个过程,按照你的需要找到解决办法,你会很有成就感。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:42

@519740105: 

第一步,我把GlobalCode.CommonDiction换成反编译的类
,代码执行到 // Properties
    public static CommonDictionCollection CommonDiction
    {
        get
        {
            return _commonDiction;
        }
    }

    public static CommonDictionCollection CommonOrderByDiction
    {
        get
        {
            return _commonOrderByDiction;
        }
    }


错误:未将对象引用设置到对象的实例。,
怎么办??

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:50

@asdfgqq: 。。。。

无语哦。

你这样肯定不行。

你应该把自己的基础开发技能整理下。从你的想法看就知道,你的开发基础技能还过于稚嫩。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:53

@519740105: 。。。。。。。

怎么整理自己的基础开发技能,?

我怎么调试这段代码?他那个属性根本没有值,不知道从哪里传过来的,咋办???

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 11:56

@asdfgqq: 

方法:CreateCommonDiction 实现了对象的初始化

方法:IniCommonDictionary 调用了方法 CreateCommonDiction

 

谁调用的 IniCommonDictionary ?需要你去努力了。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 11:58

@519740105: 大侠,找不到谁调用的 IniCommonDictionary??

咋办??

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 13:02

@asdfgqq: 除了你自己,就只有你公司团队的高人了。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 13:04

@519740105: 我自己,怎么找?,

是这样的,有一个页面,把需要绑定到dropdownlist中的字典,在一个页面添加一下,添加完了数据库就有记录了。

我用代码生成器生成一个页面,加上

item.Cells[2].Text = GlobalCode.CommonDiction["WordLicenses"][((TC_TaxiCompanyInfo)item.DataItem).WordLicenses.ToString()].ToString();,

gridview中就显示字典名称了,

这个功能好像用的缓存,

大侠,根据以上信息,能不能找到答案?

我自己的怎么找???

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 13:11

@asdfgqq: 努力!加油!

你还不能找到或者还有疑问,说明你的技能点还没到这个程度。当你的技能到这个程度的时候,你是不会问这个问题的,或者擦边的时候也能在我的轻点下理解和明白。

建议:先做好手头的工作,这个问题记着,但先放下。

519740105 | 园豆:5810 (大侠五级) | 2015-04-03 14:10

@519740105: 我书读的少,你不要骗我,

asdfgqq | 园豆:8 (初学一级) | 2015-04-03 14:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册