这种使用静态变量有什么问题?请指教

huguosheng_89412 2009-11-24 01:54:06
  private static string[,] moduleStr,moduleOperateStr;
private static DataTable moduleTable, moduleOperateTable, moduleTable_YX, moduleOperateTable_YX;
private static string s =null;
/// <summary>
/// 创建角色分配权限树
/// </summary>
/// <param name="_roleid">角色ID</param>
/// <param name="_companyid">公司ID</param>
/// <param name="_userid">用户ID</param>
/// <param name="_isroleid">是否管理员角色ID</param>
/// <param name="_parentNode">父级ID</param>
/// <param name="_parentNo">父级ID</param>
/// <param name="luage">语言</param>
public static void CreateRoleTreeView(string _roleid,string _companyid,string _userid,string _isroleid, TreeNodeCollection _parentNode, string _parentNo, string luage)
{
using (DataSet ds = Innet.Authcenter.BLL.BLLFactory.CreateSysRolesInstance().GetAllList(_roleid.ToString(), _companyid.ToString(), _userid.ToString(), _isroleid.ToString()))
{
moduleTable = ds.Tables["Auth"];
moduleTable_YX = ds.Tables["LookAuth"];
moduleOperateTable = ds.Tables["ModuleOperate"];
moduleOperateTable_YX = ds.Tables["RoleOperate"];

s = luage;

moduleStr = getModuleTable(moduleTable);
moduleOperateStr = getModuleOperate(moduleOperateTable);
CreateTreeEx(_parentNode, _parentNo);
moduleStr = null;
moduleOperateStr = null;
moduleTable.Dispose(); moduleOperateTable.Dispose(); moduleTable_YX.Dispose(); moduleOperateTable_YX.Dispose();
moduleTable = null; moduleOperateTable = null; moduleTable_YX = null; moduleOperateTable_YX = null;
}
}
...全文
78 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallmaster 2009-11-24
  • 打赏
  • 举报
回复
感觉不好管理
「已注销」 2009-11-24
  • 打赏
  • 举报
回复
有可能。
huguosheng_89412 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cuike519 的回复:]
静态变量有风险使用需谨慎。

这段代码看上去没有什么问题,CreateTreeEx是否有问题不知道。

静态变量和实例变量在内存中垃圾回收对他们的处理是不同的,具体为啥不同去看MSDN的帮助吧。
[/Quote]

CreateTreeEx是调用上面定义的几个静态DataTable
zhubo_1117 2009-11-24
  • 打赏
  • 举报
回复
显然不会,你去看看微软的那么多类都是静态的啊
比如String.什么的,int32.什么的


只不过静态的变量生命长一些。存储在内存的静态区
cuike519 2009-11-24
  • 打赏
  • 举报
回复
静态变量有风险使用需谨慎。

这段代码看上去没有什么问题,CreateTreeEx是否有问题不知道。

静态变量和实例变量在内存中垃圾回收对他们的处理是不同的,具体为啥不同去看MSDN的帮助吧。
huguosheng_89412 2009-11-24
  • 打赏
  • 举报
回复
这种使用静态变量是不是会给系统带来数据混乱
moonlightme 2009-11-24
  • 打赏
  • 举报
回复
楼主想说什么...
huguosheng_89412 2009-11-24
  • 打赏
  • 举报
回复
自己先顶

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧