汗~~,不同的cs里面阿除非你把tempRule变量设置为全局的——否则它们之间是不通用的,都是独立存在的。==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
namespace Pub
{
[Serializable]
public class T_Rule
{
public int RuleId = -1; //规则号
}
在DataRecv.cs怎么调用上面RuleId这个变量的值
T_Rule t = new T_Rule();
取t.RuleId的值肯定就是-1了
int a=rule.RuleId//必然是-1...你可以把那个tempRule当作参数传递过来...然后...T_Rule rule = tempRule;ps:不要去想什么cs文件...Sche.cs还是DataRecv.cs对运行时都没有任何意义...namespace和class name才是逻辑边界...
rule = new T_Rule();
int a=rule.RuleId
是不是这样就可以了
T_Rule rule = tempRule;这个干什么啊!在Sche.cs里我是这样付值的!
tempRule = new T_Rule();
tempRule.RuleId = (int)row["RuleId"];
///////////这里给T_Rule.RuleId付值!在DataRecv.cs怎么调用T_Rule的RuleId这个变量的值
namespace Pub
{
[Serializable]
public class T_Rule
{
public int RuleId = -1; //规则号
}
///////////////
然后 在Sche.cs里付值!
tempRule = new T_Rule();
tempRule.RuleId = (int)row["RuleId"];
///////////
最后来在DataRecv.cs里我是这样来来获取他的值!但是结果是空的!
T_Rule rule = new T_Rule();
int a=rule.RuleId意思就是这样
tempRule.RuleId = (int)row["RuleId"];这里你是给对象(tempRule)的成员(RuleID)赋值。下面取值时:
T_Rule rule = new T_Rule();
int a=rule.RuleId
这里rule是另外一个对象,因为new T_Rule()是另外一个对象了。明白了吗?就好象你借一块钱张三。之后找另外一个张三还,他肯定没有了。
解决办法:你要在取值的方法里面把给赋值的对象用参数转过来
public void GetRuleID(T_Rule tempRule)
{
int a = tempRule.RuleId
}
这样肯定可以了。
namespace Pub
{
[Serializable]
public class 人
{
public int 年龄 = 0;
}
}在Sche.cs里你是这样付值的楼主 = new 人();
楼主.年龄 = 23;
///////////
为什么在DataRecv.cs里你是这样来来获取自己的年龄!但是结果是0!
人 比尔盖茨 = new 人();
int a=比尔盖茨.年龄;你说为什么你得不到自己的年龄23呢? 而得到刚出生的盖子的0 ???你赋值的是一个人,取的却是另外一个人,当然取不到了
楼主 = new 人();
楼主.年龄 = 23;
///////////人 比尔盖茨 = 楼主; //注意,是等于楼主,不是等于new 人();
int a=比尔盖茨.年龄; //现在你肯定得到了23了
现在由于"楼主"是有作用域的,就是Sche.cs这个帖子,离开这个帖子,到了DataRecv.cs那个帖子,已经没有你这个楼主了,虽然有楼主不过已经是别人了~~~所以你要想个办法把你的楼主从Sche.cs传到DataRecv.cs, 可以使用全局数据(比如一个Singleton对象的某个属性),或使用参数传递~~
这个实例,和你先前用的实例是不同class b{
public :
int a;
}一、先声明一个实例并赋值
b myb;
myb.a=10;二再声明一个,并获取
b myc;
这时myc中的a值并没有初始化,所以,你在其他类中,要获取另一个类实例的值,应该把那个类实例声明为全局函数
如:
一、声明一个全局变量
b myb;
二、赋值
myb.a = 10;三、其他类中获取值
int c;
c = myb.a
{
public int RuleId = -1; //规则号
public Cp_IndustryInfo(int _ruleId)加一个构造函数
{
RuleId = -1;
}
}
tempRule = new T_Rule(3);
tempRule.RuleId = (int)row["RuleId"];
别着急慢慢来,只要有信心就好。
以上有sb回复者,你问问他们 什么叫const,static,static readonly的区别,能答对者,再来判断自己是不是适合高程序开发