• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

怎样跨namespace 传值?

wugamp 2017-04-01 02:24:52
solution 里有两个项目,分别有各自的namespace, 代码如下:
第一个文件:
namespace A
{
public partial class A: Form
{
......
}
}
第二个文件:
namespace B
{
public partial class B: Form
{
......
}
}

结果发现:class A 里可以引用 class B,反之则不可。即使我在第二个文件开头加上 using A,也还是无法引用 class A。
请问这是为什么?

...全文
224 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yunqing1201 2017-04-11
交叉是不能引用的,你的程序结构逻辑问题,理清楚就行啊
回复
pamgu 2017-04-06
可以用TAG
回复
Lee_Y_K 2017-04-01
先理解项目分层的需求,如果需要相互引用,那有必要分层?
回复
循环依赖了,这样不可以
回复
xuggzu 2017-04-01
一句话:代码划分不合理。 命名空间是用于层次划分用的,不同层次有不同规则,该空间的东东要依循自己空间的规则。访问另一空间时就要遵守该空间规则。 怎么划分命名空间当然是使用者的自由,但乱分只会搞乱规则,让自己,也让别人思路乱套。
回复
angel6709 2017-04-01
不能循环依赖
回复
pamgu 2017-04-01
两个命名空间应该分别对应于两个项目,两个项目之间有依赖关系。A依赖B,所以A能看见B里有什么,反过来就不行了。
回复
Poopaye 2017-04-01
如果A引用B,那么加载A之前会先加载B 如果B又引用A,那么加载A之前会先加载B,但是加载B又必须先加载A,所以不可以。
回复
wugamp 2017-04-01
补充:我如果在第一个文件里输入 B.,后面立刻就会跳出 class B,说明VS2010知道namespace B 里有什么东西。 但我如果在第二个文件里输入A.,后面就只会跳出 {}properties,而不会跳出 class A。
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-04-01 02:24
社区公告

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