当前位置:编程学习 > C#/ASP.NET >>

C# 主项目甲和项目乙,乙如何调用甲中的静态量?

C# 主项目甲和项目乙,乙如何调用甲中的静态量?我觉得如果要调用甲的静态量那么乙得引用甲,但是我在甲项目中已经引用乙了,不能循环引用,求指导~~~ --------------------编程问答-------------------- 跨项目的调用,还是用数据库,文件,这些吧。 --------------------编程问答-------------------- 没明白楼主在说什么,两个项目运行在不同的AppDomain里面吗? --------------------编程问答--------------------
引用 楼主 feiy6 的回复:
C# 主项目甲和项目乙,乙如何调用甲中的静态量?我觉得如果要调用甲的静态量那么乙得引用甲,但是我在甲项目中已经引用乙了,不能循环引用,求指导~~~


通常设计时决定了一种单向依赖关系,之后一直保持单向的关系是非常好的习惯。那么需要倒置的情况也非常常见,这时候你就需要回到领域概念的本源来调整你的设计。

比如说“广告管理系统”这个工程引用了“绘图软件包”这个工程,那么你就要回到这个领域关联关系范畴,问问自己“既然我断定绘图软件包不依赖于广告管理系统,我有凭什么非要绘图软件包又依赖于广告管理系统呢?”

你的问题是一样的,完全是你脑筋一下子混乱了造成的。既然乙项目是独立的、不依赖于甲项目的,那么你为什么又要自认为乙项目的设计中需要预先知道甲项目中的某个东西的概念呢?

实际上重整你心里的概念,一下子就解决了这个问题。比如说乙项目中设置一个静态变量,然后甲项目在应用程序初始化(或者说是更主要的类的static实例化)时把甲项目的那个静态变量值赋值给乙项目中的这个变量。其关键点是,乙项目设计这个静态变量,根本不依赖于甲项目概念,而是根据乙项目自身的逻辑需要来设计这个变量。

当然你也可以在乙项目的这个class中设计static的event来抛出事件,然后甲项目在某个class的static实例化时监听处理这个事件。这样乙项目需要这个数据时,会通知宿主程序并从事件的结果中得到这个变量值。不过从“理顺依赖关系,在设计时让乙项目不依赖于甲项目”这个角度是一样的,没有什么区别。

其实这就是在一瞬间,在于你的基本的软件设计意识是否正确。如果坚持基本的道理,就不会总设计出诡异的代码了。。 --------------------编程问答--------------------
引用 楼主 feiy6 的回复:
C# 主项目甲和项目乙,乙如何调用甲中的静态量?我觉得如果要调用甲的静态量那么乙得引用甲,但是我在甲项目中已经引用乙了,不能循环引用,求指导~~~


这种“我觉得”之类的词就好像我们心中的魔障。

其实学好多具体的编程技术非常简单,但是要让这种简单的道理想明白,则才需要下很大的功夫。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,