C# “全局变量” 如何赋值和取值(急)

条件:一个类中的定义一个属性,在另一个类中能给起赋值,在第三个类中要能读取之前赋的值问题:如何定义,如何赋值,如何读取值?(回答正确另有高分相赠)但这个赋的值在另外一个类... 条件:一个类中的定义一个属性,在另一个类中能给起赋值,在第三个类中要能读取之前赋的值
问题:如何定义, 如何赋值,如何读取值?
(回答正确另有高分相赠)
但这个赋的值 在另外一个类中就得不到了
定义:class GlobalVariable
{
private string dBname;
public string DBname
{
get { return dBname;}
set { dBname = value;}
}
}
赋值:class B
{
GlobalVariable globalVariable = new GlobalVariable();
globalVariable.DBname = textbox1.Text.ToString();

}
取值:class C
{
GlobalVariable globalVariable = new GlobalVariable();
textbox2.txt=globalVariable .DBname;
}
在class C中读不到globalVariable .DBname属性值 求教应该如何改???
展开
 我来答
侯洲明勇喵0b
2012-04-05 · 超过34用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:71万
展开全部
在类A中定义一个private static void int a=0;
然后在其他地方直接用A.a;就可以用了
不过这个是静态的,如果你在一个程序中多次使用它就要注意了!
追问
我的程序写在补充里了  应该怎么改呢?  我试过了 如果只是在GlobalVariable类中 定义时加static 是没用的
追答
你这样肯定是不行的,因为你2次访问class GlobalVariable 都是重新NEW的一个出来,所以,值都是初始值,你可以这样
定义:class GlobalVariable
{
private static string dBname;
}
赋值:class B
{

GlobalVariable.dBname = textbox1.Text.ToString();

}
取值:class C
{

textbox2.txt=GlobalVariable.dBname ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e29fac5
推荐于2018-03-08 · TA获得超过1315个赞
知道小有建树答主
回答量:790
采纳率:50%
帮助的人:602万
展开全部
static修饰一下不就可以了么
class A{
public static int b;
}
class B
{ void a(){ A.b = 1;} }..................

加static啊,
private static string dBname;
public static string DBname
更多追问追答
追问
public class GlobalVariable
{
private static string dBname;

public static string DBname
{
get { return dBname; }
set { dBname = value; }
}
}
这样吗?
可是这样 globalVariable点后面就没有dBname了
追答
GlobalVariable.DBname
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王姑凉why08
2012-04-05 · TA获得超过195个赞
知道小有建树答主
回答量:283
采纳率:100%
帮助的人:139万
展开全部
在class C中取值时,你又重新实例化了class GlobalVariable,所以在你实例化之后值会被清空;
最好在类GlobalVariable中把变量定义成静态(static)的,调用时直接用类名调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b68d4ea4f
2012-04-05 · TA获得超过126个赞
知道小有建树答主
回答量:182
采纳率:100%
帮助的人:139万
展开全部
定义成静态属性,但是使用的时候要注意lock下,不然并发的时候会有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
407627351
2012-04-08
知道答主
回答量:36
采纳率:0%
帮助的人:17.9万
展开全部
要把 DBname定义成static型的才能调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式