您的位置:程序门 -> .net技术 -> c#



c#中项目之间的全局变量?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c#中项目之间的全局变量?[已结贴,结贴人:welon]
发表于:2007-08-21 09:35:11 楼主
请问比如说我的程序有两个project组成,一个是exe可执行,一个是dll在exe中使用,但我想在exe中定义一个变量,也能在dll中使用,请问高手们这问题该如何解决,听说c#没有全局变量,感觉好麻烦,不过肯定有解决办法,只是我不知道。100分相送,先谢了。
发表于:2007-08-21 09:35:521楼 得分:0
ps:不要通过参数传递
发表于:2007-08-21 09:35:562楼 得分:10
加个类就可以啊。
发表于:2007-08-21 09:38:453楼 得分:0
楼上的大大,请问怎么加啊?可否详细点
发表于:2007-08-21 09:39:324楼 得分:0
再,这个类应该加在哪呢?加在exe   这个project里,还是dll的project里?
发表于:2007-08-21 09:39:495楼 得分:10
不要通过参数传递
-------------
最好通过参数传递。   这是最合适的方法了。

你还可以通过一个静态的变量(或类)来处理,或者使用剪切板对象共享数据。再有通过委托或事件来传递信息。
发表于:2007-08-21 09:40:236楼 得分:0
加一个类,里面包含一个静态变量就可以了。

public   class   a
{
        public   static   int   i;   //这个东西就是全局变量
}
发表于:2007-08-21 09:40:287楼 得分:10
简单的就这样:

public   class   global
{
      public   static   string   strtext   =   "变量 ";
}

然后直接在如何地方直接这样使用:global.strtext
发表于:2007-08-21 09:40:518楼 得分:0
如果要加一个静态的类或变量可以加到dll中,对于exe的程序不好引用,而dll没有限制。
发表于:2007-08-21 09:41:189楼 得分:30
静态变量定义在dll里,
发表于:2007-08-21 09:41:4110楼 得分:5
弄一个dll
using   就可以了吧
发表于:2007-08-21 09:41:5011楼 得分:5
静态变量会比较好..
public   static   string   str;
发表于:2007-08-21 09:42:0512楼 得分:0
访问的是时候请直接写   a.i   //a不需要实力化
发表于:2007-08-21 09:42:4513楼 得分:5
static   class   pub
{
    static   int   var1;
    static   string   var2;
}

随便加在哪个project中都可以,使用时用pub.var1,pub.var2之类的。
发表于:2007-08-21 09:55:0814楼 得分:5
最好是在多项目中找一个   每个项目都要引用的项目里加
public   class   appdatcenter
{
    public   int   var1=0;
    public   string   var2= " ";
}
发表于:2007-08-21 10:09:5415楼 得分:5
public   static   变量是静态变量,是全局的
发表于:2007-08-21 10:43:1616楼 得分:5
up
发表于:2007-08-22 09:36:4417楼 得分:0
楼上的诸位,我试了一下,用static的方法,发现如果这个变量在exe里则dll没法用(也就是无定义),如果在dll里则exe里没法用,不知何解????????
发表于:2007-08-22 09:43:5118楼 得分:0
难道真的只能通过系统环境变量或注册表或剪帖板解决这个问题吗?
发表于:2007-08-22 09:55:2719楼 得分:2
弄个中间文件,2边都去读写文件好了。总可以了不
发表于:2007-08-22 09:57:0120楼 得分:2
在dll里则exe里没法用?
是public的吗?
发表于:2007-08-22 10:27:5921楼 得分:2
如果你要在dll中调用exe的成员,那你的设计一定是有问题的,准确说不合理。
主要将实现的功能说清楚,如果是程序的一些设置信息,应该由其它功能类完成,exe也就是负责调用和管理。
发表于:2007-08-22 10:35:0922楼 得分:2
静态成员就好了撒
怎么可能没法用列,你添加引用没有啊  
我前段时间用的蛮好的
发表于:2007-08-22 10:40:2823楼 得分:2
添加一个static   class里面加上public成员
发表于:2007-08-22 12:07:2624楼 得分:0
搞定了,谢谢诸位高手
发表于:2007-12-26 18:05:5425楼 得分:0
就在   dll里写一个

public   class   datcenter
{
      public   static   int   var1=0;
}


快速检索

最新资讯
热门点击