我试图在另一个类的类内部使用一种方法。
namespace Crystal.Utilities
{
public class Logging
{
public static void Log()
{
//dostuff
Crystal.MainForm.general_log_add_item("Hello World");
}
}
}
namespace Crystal
{
public partial class MainForm : Form
{
public void general_log_add_item(string msg)
{
listBox1.Items.Add(msg);
}
}
}
我希望能够从任何地方调用Crystal.Utilities.Logging.Log(),并且能够调用Crystal.MainForm.general_log_add_item()。但是它不允许我这样做,因为如果我将其公开发布,那么我将看不到它,如果它是静态的则无法与我的列表框进行交互。
最佳答案
您必须了解窗口不是静态的,他有一个实例,这就是为什么该方法不能静态的原因,
您可以使用
Application.Windows到达此实例并调用add方法。
或者,您也可以在其构造函数中的另一个类中注册窗口,该类将介导Logging和窗口。
如果您听不懂,请告诉我,我会尽量保持清楚