c# - 使用另一个类的类方法

标签 c# class public-method

我试图在另一个类的类内部使用一种方法。

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和窗口。

如果您听不懂,请告诉我,我会尽量保持清楚

关于c# - 使用另一个类的类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3773450/

相关文章:

c# - 如何在重新启用后保持 ToggleButton 状态

objective-c - Xcode 类不能 "see"彼此

c++ - 对于模板类,非泛型成员函数是否会被复制?

Javascript 类对象 - 相同值多个名称

javascript - 为什么这些方法是公开的?

c# - 传递指向类属性的指针

c# - 如何获取对象列表中包含的所有子对象的列表?

c# - 使用 CodeDOM 或 Mono - .NET

c# - 在 Windows 服务上调用公共(public)方法