对于Windows应用程序使用Visual Studio 2013,我的MainForm
一些代码需要运行另一段代码,而我试图将所需的代码单独移到另一个类中并导入(以使MainForm
该类更加舒适)了解)
我将代码移到该类时似乎无法导入该类,这是男女同校包括的一些东西:
static void WinEventProc(IntPtr hWinEventHook, uint eventType,
IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
{ .. }
还有一些
delegate void WinEventDelegate(IntPtr hWinEventHook, uint eventType,
IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime);
[DllImport("user32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);
所以那些通常在我里面
namespace myClass
{
public partial class MainForm : Form
{
但我想把它们放在另一个班级,然后导入
您不需要仅仅因为它们在另一个类中(同一项目)而“导入”它们。如果您使用其他名称空间,则可以包含它,但不需要。
例如,您可以将它们放在另一个类中(由于它们是静态方法,所以最好是一个静态类),然后从其他代码中调用它们。
namespace SameNamespace
{
static class NewClass
{
[DllImport("user32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);
}
}
然后在表单代码中甚至在需要时使用以下代码:
NewClass.GetWindowThreadProcessId(...);
如果要将类放在其他名称空间中,例如:
namespace DifferentNamespace
{
...
那么您要么包含它,就像这样:
using DifferentNamespace;
或者您可以在需要此功能时显式调用它:
DifferentNamespace.NewClass.GetWindowThreadProcessId(...);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句