一个类在另一个类中以集合形式声明为属性时应该注意的问题

标题:一个类在另一个类中以集合形式声明为属性时应该注意的问题,先解释一下,看下面的代码吧

[Serializable]public class MO_T_sj_quest{public List<MO_T_sj_answer> AnswerList { get; set; }public List<MO_T_sj_answer> IDList { get; set; }public List<MO_T_sj_quest_bind> BindList { get; set; }public List<MO_T_sj_quest_user> UserList { get; set; }public int Classid { get; set; }}明白了吧,<pre name="code" class="csharp">public List<MO_T_sj_answer> AnswerList { get; set; }

这个就是mo_t_sj_quest中的一个属性,只不过这个属性相比Classid有点特殊,其是一个泛型集合,那么在使用的时候应该注意以下方面:

如果我想在业务层去赋值给mo_t_sj_quest,但里面有几个泛型集合,想同时给他赋值,假设集合里只有一个值的话,是不是如下写:

MO_T_sj_quest tempModelQuest = new MO_T_sj_quest();tempModelQuest.AnswerList[0].Content = "dffffffffdfd";tempModelQuest.UserList[0].MEDIAID = 1;tempModelQuest.Medias[0].ID = 5;哈哈,错了,这样写,看似很合理,但是忘记了,这个 tempModelQuest.AnswerList[0]是一个泛型集合List<MO_T_sj_answer>,你还没有初始化就去使用,会不会报错呢?

所以,,赋值应该这样:

MO_T_sj_quest tempModelQuest = new MO_T_sj_quest();tempModelQuest.UserList = new List<MO_T_sj_quest_user>() { new MO_T_sj_quest_user() { USERNAME = "dsdsdsdsdsds"} };tempModelQuest.Medias = new List<MO_T_sj_quest_media>() { new MO_T_sj_quest_media() { ID = 5 } };tempModelQuest.AnswerList = new List<MO_T_sj_answer>() { new MO_T_sj_answer() { Content = "dsdsdsdsdsdsss" } };好了,留下脚印,有不对之处欢迎指正!谢谢

请打开窗口,让我的灵魂与你的灵魂相拥。

一个类在另一个类中以集合形式声明为属性时应该注意的问题

相关文章:

你感兴趣的文章:

标签云: