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属性值 求教应该如何改??? 展开
问题:如何定义, 如何赋值,如何读取值?
(回答正确另有高分相赠)
但这个赋的值 在另外一个类中就得不到了
定义: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属性值 求教应该如何改??? 展开
6个回答
展开全部
在类A中定义一个private static void int a=0;
然后在其他地方直接用A.a;就可以用了
不过这个是静态的,如果你在一个程序中多次使用它就要注意了!
然后在其他地方直接用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 ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static修饰一下不就可以了么
class A{
public static int b;
}
class B
{ void a(){ A.b = 1;} }..................
加static啊,
private static string dBname;
public static string DBname
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在class C中取值时,你又重新实例化了class GlobalVariable,所以在你实例化之后值会被清空;
最好在类GlobalVariable中把变量定义成静态(static)的,调用时直接用类名调用
最好在类GlobalVariable中把变量定义成静态(static)的,调用时直接用类名调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义成静态属性,但是使用的时候要注意lock下,不然并发的时候会有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要把 DBname定义成static型的才能调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询