我试图将类中的m_paths值传递给:ExtractDescriptorsForm.Cs到VisualizeFrom.Cs .. 这是变量在ExtractDescriptorsForm.Cs中的定义方式:
namespace MediaLab.TopSurf
{
public partial class ExtractDescriptorsForm : Form
{
// list of paths that point directly at images, or at
// directories that contain images
List<string> m_paths;
public List<string> Paths { get { return m_paths; } }
......}}
我在VisualizeForm.Cs中写的内容:
List<string> j = ExtractDescriptorsForm.m_paths;
错误是:
非静态字段,方法或属性'MediaLab.TopSurf.ExtractDescriptorsForm.m_paths'
需要对象引用答案 0 :(得分:0)
首先,我需要确保你理解一些非常基本的东西:
文件 nothing 与此无关
您正在使用类对象,而不是文件。您可以在屏幕上同时显示多个 public Form1()
{
InitializeComponent();
Task t = new Task(Repopulate);
t.Start();
// some other work here
t.Wait(); //completes prematurely
}
async void Repopulate()
{
var query = ParseObject.GetQuery("Offer");
IEnumerable<ParseObject> results = await query.FindAsync();
if (TitleList == null)
TitleList = new List<string>();
foreach (ParseObject po in results)
TitleList.Add(po.Get<string>("title"));
}
,并且没有理由将此表单放在名为ExtractDescriptorsForm
的文件中。实际上,您可以将ExtractDescriptorsForm.cs
和ExtractDescriptorsForm
类定义放在同一个文件中。
了解这一点,并学好它,否则你将难以有效地编写代码。
就此而言......对于这个问题,VisualizeFrom
对象试图在VisualizeFrom
对象中查找Paths
属性...但是哪个对象?当你需要考虑类的实例时,你在这里使用类名。
我看到您尝试创建新ExtractDescriptorsForm
对象的注释。这可能是个错误。您可能已经在程序中的某个地方已经有一个实例,可能是由Visual Studio为您提供的代码创建的。您需要找到现有的参考。