用类名在该类内定义一个静态变量 有什么用?

takpod 2015-11-05 09:20:33

1,用类名在该类内定义一个静态变量,然后类的函数都用该静态变量来调用,为什么要这样做?
2,该解决方案有两个项目,两个项目内分别有想同一个类,在运行时,这两个类是独立的吗?
...全文
437 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
takpod 2015-11-05
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
你这个抄来的代码,很可能有着
private CRunningLog()
{
}
代码,而你没有注意到。
引用 4 楼 yunhaiC 的回复:
感觉不用纠结这个问题。 我觉得是他没处理好。可以额外定义一个库的工程,给双方调用。非要考虑到唯一性,那就用单例模式。
我知道了,其实是他没处理好,
bdmh 2015-11-05
  • 打赏
  • 举报
回复
两个类是独立的,至于为什么用静态的,要看作者的意图了,肯定有他的缘由
  • 打赏
  • 举报
回复
你这个抄来的代码,很可能有着
private CRunningLog()
{
}
代码,而你没有注意到。
  • 打赏
  • 举报
回复
感觉不用纠结这个问题。
我觉得是他没处理好。可以额外定义一个库的工程,给双方调用。非要考虑到唯一性,那就用单例模式。
  • 打赏
  • 举报
回复
在早期的 java 中,并没有 public static class XXX{ .... } 这样的语法。为了约束某个类只能最多有一个实例,出于过度强迫症的考虑,那么将 XXX 的实例化方法设置为 private 的,将其设置为 Singletone 格式。 实际上如果不是过度强迫症,那么你的代码中在任意模块中写一个
public static CRunningLog log = new CRunningLog();
就行了,根本用不着什么单例模式。但是有的人就是宁可把代码写复杂了,也一定要满足洁癖的。
本拉灯 2015-11-05
  • 打赏
  • 举报
回复
下边应还有调用这个的代码吧 1.public static XXXXX Instance{ get{return xxxxx}} 2.public static XXXXX Create(){return xxxxx;}
  • 打赏
  • 举报
回复
为什么这么写得问写代码的人了,这写法又不像单例,对于第二个问题,当然是独立的
  • 打赏
  • 举报
回复
引用 楼主 takpod 的回复:
2,该解决方案有两个项目,两个项目内分别有想同一个类,在运行时,这两个类是独立的吗?
如果命名空间相同,那么根本无法编译通过。 如果命名空间不同,那么就完全是两个无关的类了。在两个无关的类中,你抄了同一个代码,这就是不太好的做法。应该在一个“公共”的工程中把这些公共的类单独实现,然后你的两个工程分别引用这个公共的工程,引用这个公共的类。 不要抄两遍。相同的东西,只应该写一遍。
zzyhost 2015-11-05
  • 打赏
  • 举报
回复
这不就是单例模式吗,最近去面试大多数公司都问过我这个问题

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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