【发布时间】:2017-08-15 16:32:06
【问题描述】:
我正在制作 c# 应用程序,我需要从另一个类访问部分类中的方法。
更具体地说,我想从与部分类不同但在同一命名空间中的类中添加项目到列表视图。
我试过这样:
public partial class Aa : Form
{
public static void UpdateListView(string[] array)
{
if (ProcessNetUsageList.InvokeRequired)
{
ProcessNetUsageList.Invoke(new Action<string[]>(UpdateListView), array);
}
else
{
ListViewItem item = new ListViewItem(array[0]);
for (int i = 1; i < 4; i++)
item.SubItems.Add(array[i]);
ProcessNetUsageList.Items.Add(item);
}
}
}
然后从另一个类访问它,例如:
class Test
{
test()
{
ProgramName.Aa.UpdateListView(someArray);
}
}
但它给出了一个错误,因为静态方法只能访问静态变量,而我的列表视图不是静态的(我在 vs 设计器中创建了该列表视图)。
如果我从部分类中的方法中删除静态关键字,则我无法访问它。我尝试创建部分类的实例但没有成功。欢迎任何想法
注意:我在我的 UpdateListView 方法中使用 Invoke,因为稍后它将在新线程上运行
【问题讨论】:
-
"I tried to create instance of partial class but without success."- 好吧,你尝试了什么?因为要访问对象的实例,您确实需要该对象的实例。那么你的表单实例在哪里呢?
标签: c# listview partial-classes