item.Cells[2].Text = GlobalCode.CommonDiction["WordLicenses"][((TC_TaxiCompanyInfo)item.DataItem).WordLicenses.ToString()].ToString();
GlobalCode.CommonDiction是个字典项集合,我怎么才能知道他怎么傅德志?
需要哪段代码,才能给我分析出来?
不明白你的意思、
这里的GlobalCode.CommonDiction是个字典集合,我想知道他在什么时候被付的值?
它里面的数据来自一张表,我想知道它怎么实现的
@asdfgqq: 看你的源代码 GlobalCoe.CommonDiction。
如果你用的是Unity,则研究下Unity的架构。
@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:
看这些代码,你的团队里应该有一个高人吧?
1、跟踪下IniCommonDictionary方法是谁调用的,怎么调用的
2、跟踪所有的public方法的调用情况。
@519740105: 大侠,我该如何跟踪??这些都是我反编译的。。。。
@519740105: 大侠,我该如何跟踪??这些都是我反编译的。。。。
我们公司有高人,惊讶,,,
@asdfgqq: 那你应该去找高人。
你反编译的?那么内部应该是有调用的,只能你自己去找源代码来查看了。
既然公司这样做了,这说明:
1、这短代码有隐私,不能随便公开
2、你们是一个大团队,分工很明确
3、你的技术能力还不够,还不能接触到这个级别的代码。
你可以跟你们团队的高手聊聊。作为使用者,只要知道怎么使用就好。
@519740105: 。。。。。。。。。。。,
大侠,我想自己研究一下,不知道有没有办法,跟踪,分析一下代码。
@asdfgqq: 当然有办法,只要代码还能编译。可以把引用到这个类的模块之类的都找到,进行逐步反编译后查找。
但这个查找可能很辛苦,如果你连你们的项目的文档都没有的话。
@519740105: 我能反编译代码,在vs上能看到团队项目,还能看到数据库
@asdfgqq: 那就行了。
你通过这个过程,按照你的需要找到解决办法,你会很有成就感。
@519740105:
第一步,我把GlobalCode.CommonDiction换成反编译的类
,代码执行到 // Properties
public static CommonDictionCollection CommonDiction
{
get
{
return _commonDiction;
}
}
public static CommonDictionCollection CommonOrderByDiction
{
get
{
return _commonOrderByDiction;
}
}
错误:未将对象引用设置到对象的实例。,
怎么办??
@asdfgqq: 。。。。
无语哦。
你这样肯定不行。
你应该把自己的基础开发技能整理下。从你的想法看就知道,你的开发基础技能还过于稚嫩。
@519740105: 。。。。。。。
怎么整理自己的基础开发技能,?
我怎么调试这段代码?他那个属性根本没有值,不知道从哪里传过来的,咋办???
@asdfgqq:
方法:CreateCommonDiction 实现了对象的初始化
方法:IniCommonDictionary 调用了方法 CreateCommonDiction
谁调用的 IniCommonDictionary ?需要你去努力了。
@519740105: 大侠,找不到谁调用的 IniCommonDictionary??
咋办??
@asdfgqq: 除了你自己,就只有你公司团队的高人了。
@519740105: 我自己,怎么找?,
是这样的,有一个页面,把需要绑定到dropdownlist中的字典,在一个页面添加一下,添加完了数据库就有记录了。
我用代码生成器生成一个页面,加上
item.Cells[2].Text = GlobalCode.CommonDiction["WordLicenses"][((TC_TaxiCompanyInfo)item.DataItem).WordLicenses.ToString()].ToString();,
gridview中就显示字典名称了,
这个功能好像用的缓存,
大侠,根据以上信息,能不能找到答案?
我自己的怎么找???
@asdfgqq: 努力!加油!
你还不能找到或者还有疑问,说明你的技能点还没到这个程度。当你的技能到这个程度的时候,你是不会问这个问题的,或者擦边的时候也能在我的轻点下理解和明白。
建议:先做好手头的工作,这个问题记着,但先放下。
@519740105: 我书读的少,你不要骗我,