class a
{
private DataTable _dt;
private void a()
{
_dt = new DataTable();
b();
}
private void b()
{
int cnt= _dt.rows.count;
}}在C#中,不能通过这种方式传递_dt的吗?我试过无论把变量或者成员函数变为protected或public都不能在b()中得到_bt
{
private DataTable _dt;
private void a()
{
_dt = new DataTable();
b();
}
private void b()
{
int cnt= _dt.rows.count;
}}在C#中,不能通过这种方式传递_dt的吗?我试过无论把变量或者成员函数变为protected或public都不能在b()中得到_bt
解决方案 »
- c# 触发GridView1_SelectedIndexChanged事件不起作用
- 有没有采集ccd 摄象机的控件或源?
- C#中有没有类似Delphi中的Frame控件?
- 使用性能资源管理器时,出现“性能报告***.vsp不包含数据”的错误
- 求救啊,大虾们来看看,大家看看这道题怎么做,具有挑战性!
- 结构中如何包含定长数组?
- 老孟的http://dotnet.aspx.cc/中好像MSN上线提示的特效是如何做出来的
- 有谁知道csdn论坛c#版块前几天的哪个提供C#案例下载的ftp ?????????
- try catch用多了会影响程序的速度吗?
- c#异常 集合已修改;可能无法执行枚举操作
- SharpZipLib 解密
- datagridview横向排列?急。。。
这是什么?
构造函数? private a()
其次,_dt.rows.count中的R和C应该是大写
最后,不知道你到底要干什么
{
private DataTable _dt;
private void a() //这里写错了,你这里应该是构造函数,没有任何类型返回,改成public a(){} {
_dt = new DataTable();
b();
}
private void b()
{
int cnt= _dt.rows.count;
}}
class a
{
private DataTable _dt; public a() //这是构造函数
{ } private void aaa() //这是一个类成员函数 {
_dt = new DataTable();
_dt = xxxxx; //假设这里有一个方法返回一个DataTable()
b();
} private void b()
{
int cnt= _dt.rows.count; //跟踪到这里_dt始终是null
} }
如果这就是你代码的全部,在执行b的时候_dt为null的话,唯一的解释就是xxxxx处返回的DataTable为null
但我相信你的代码肯定不止这些,问题应该是出在你没贴出来的部分
{
private DataTable _dt; public a() //这是构造函数
{
aaa();
} private void aaa() //这是一个类成员函数
{
_dt = new DataTable();
//_dt = xxxxx; //假设这里有一个方法返回一个DataTable()
b();
} private void b()
{
int cnt = _dt.Rows.Count; //跟踪到这里_dt始终是null
} }
我在一个winform的程序中有这样的代码的,b()成员函数是一个自定义的函数,而aaa()是form_load()函数,除此之后还有另外一个组件上面调用了b()。对——dt的初始化我是放在form_load()中,但是在winform程序中对组件的初始化是放在form的构造函数中的,因此实际上b()的调用要比form_load()早,用跟踪的方法跟到b()里面的_dt这时还是null。现在我把_dt的初始化放在了构造函数里,问题就解决了。