通常在列表窗体a中单击“添加”按钮打开一个对话框b做新增或修改操作,这时需要从a中传一些参数给b,于是我们使用以下方法: 在b.cs中写一个Hashtable的属性args,然后定义一个全局的枚举argName。然后在a中这样传参: Form b = new Form(); b.args[argName.单位名] = "单位1"; 然后在b.cs中这样取值:string unitname = args[argName.单位名] as string。 现在的问题是这个args[argName.单位名]是object类型的,每次取值还得类型转换,如果为null,转换时还得判断是否异常,挺麻烦的,而且我也不喜欢多一个全局的枚举项作键名,有没有更好的办法可以实现类似的万能传参,就像js对象一样最好,只要有一个宿主,可以随时随地往宿主里面添加对象,然后直接给该对象赋值。 另外,我也试过Directonary<K,V>,问题是这玩意实例化时必须指明V的类型,所以不能用它,用Struct吧它的权限问题又太麻烦,总之就是想不到一个更好的招,特此求教高人指点
- 3 回答
- 0 关注
- 481 浏览
添加回答
举报
0/150
提交
取消