C# 怎样调用另一个类里面的list
我在一个类里面定义了一个List.,publicList<tag_filelist>m_filelist=newList<tag_filelist>();其中tag_fi...
我在一个类里面定义了一个List., public List<tag_filelist> m_filelist = new List<tag_filelist>();
其中tag_filelist是定义的一个类,里面包括文件的路径,文件名,文件内容等等,然后我通过openfiledialog将文件加到List里面后,在另外一个类中想获取所添加的文件名,于是,我先实例化上一个类,然后在这个类里面调用list,但是奇怪的是:第一个类里面的list的count是正确的,能够计算出list里面有多少文件,但是第二个类我调用list,但是得到的count是0,我感到很奇怪,我明明将文件加到list当中了,请问这是为什么,有什么方法解决
写错了,tag_filelist不是一个类,是自己定义的结构 展开
其中tag_filelist是定义的一个类,里面包括文件的路径,文件名,文件内容等等,然后我通过openfiledialog将文件加到List里面后,在另外一个类中想获取所添加的文件名,于是,我先实例化上一个类,然后在这个类里面调用list,但是奇怪的是:第一个类里面的list的count是正确的,能够计算出list里面有多少文件,但是第二个类我调用list,但是得到的count是0,我感到很奇怪,我明明将文件加到list当中了,请问这是为什么,有什么方法解决
写错了,tag_filelist不是一个类,是自己定义的结构 展开
4个回答
展开全部
你实例化之后(假定之前的类为a,实例化后为b),此时的b与a已经不是同一个对象了,b中所有的内容包括那个list都会初始化(如果你的构造函数中也没有处理list)那count自然就是0,解决的方法很简单,将m_filelist的声明改为
public static List<tag_filelist> m_filelist = new List<tag_filelist>()
假定这个m_filelist所在的类名叫class1
那么在其它的类中要调用这个,就可以写class1.m_filelist
public static List<tag_filelist> m_filelist = new List<tag_filelist>()
假定这个m_filelist所在的类名叫class1
那么在其它的类中要调用这个,就可以写class1.m_filelist
追答
没注意看吧,上面写的是类名,不是实例名,比如说是这样的
public class class1
{
public static List<tag_filelist> m_filelist = new List<tag_filelist>();
}
class1 c=new class1();
console.writeline(class1.m_filelist.count);//注意是class1.m_filelist,不是c.m_filelist
展开全部
你把泛型集合list<>先实例化,然後再实例化类,然後再进行操作;逻辑没错,应该都能获取值。如果不行的话,错误另有原因
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要拿到上一个类的实例才行,而不是重新实例化上一个类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把代码简单的贴出来看看么。。这么说不是太明白的~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询