C#从其他类调用函数
我试图在“publicstaticvoidmain()”中运行“progr.SetMonitorState(MonitorState.OFF)”,但在尝试编译它时出错:C#从其他类调用函数,c#,C#,我试图在“publicstaticvoidmain()”中运行“progr.SetMonitorState(MonitorState.OFF)”,但在尝试编译它时出错: progr命名空间中不存在“SetMonitorState” “MonitorState”在当前上下文中不存在 我只是想制作一个程序来关闭我的电脑并关闭显示器(我想检查它是否会关闭通过HDMI与电脑连接的电视) 代码: 使用系统; 使用系统诊断; 使用系统运行时; 使用系统数据; 使用System.Runtime.Interop
使用系统;
使用系统诊断;
使用系统运行时;
使用系统数据;
使用System.Runtime.InteropServices;
使用系统计时器;
使用System.Windows.Forms;
名称空间程序
{
公共类监视器
{
公共int SC_监视器电源=0xF170;
公共uint WM_SYSCOMMAND=0x0112;
[System.Runtime.InteropServices.DllImport(“user32.dll”)]
静态外部IntPtr SendMessage(IntPtr hWnd、uint Msg、IntPtr wParam、IntPtr lParam);
公共枚举监视器状态
{
ON=-1,
关=2,
待机=1
}
public void SetMonitorState(MonitorState状态)
{
表格frm=新表格();
SendMessage(frm.Handle,WM_SYSCOMMAND,(IntPtr)SC_MONITORPOWER,(IntPtr)state);
}
}
公共课堂关闭
{
公共静态void Main()
{
程序设置监视器状态(监视器状态关闭);
Console.Write(“Jestem jebanym leniem:)\n\n”);
int t=0;
对于(int i=0;i您需要从监视器中创建实例,如Main方法中的下面所示:
MonitorSht somename = new MonitorSht();
然后通过实例调用您的方法,如下所示:
somename.SetMonitorState(MonitorState.OFF)
您需要在Main方法中从监视器创建实例,如下所示:
MonitorSht somename = new MonitorSht();
然后通过实例调用您的方法,如下所示:
somename.SetMonitorState(MonitorState.OFF)
您的MonitorSht
不是静态的,因此您需要创建一个实例才能使用其方法
public static void Main()
{
var monitorSht = new MonitorSht();
monitorSht.SetMonitorState(MonitorSht.MonitorState.OFF);
Console.Write("Jestem jebanym leniem :)\n\n");
/*...*/
}
您还可以通过将枚举放在类的作用域之外(最好是放在新文件中)来公开它
public class MonitorSht
{
/*...*/
}
public enum MonitorState
{
ON = -1,
OFF = 2,
STANDBY = 1
}
然后你可以写:
var monitorSht = new MonitorSht();
monitorSht.SetMonitorState(MonitorState.OFF);
您应该阅读有关类如何工作的更多信息。您的监视器sht
不是静态的,因此您需要创建一个实例以使用其方法
public static void Main()
{
var monitorSht = new MonitorSht();
monitorSht.SetMonitorState(MonitorSht.MonitorState.OFF);
Console.Write("Jestem jebanym leniem :)\n\n");
/*...*/
}
您还可以通过将枚举放在类的作用域之外(最好是放在新文件中)来公开它
public class MonitorSht
{
/*...*/
}
public enum MonitorState
{
ON = -1,
OFF = 2,
STANDBY = 1
}
然后你可以写:
var monitorSht = new MonitorSht();
monitorSht.SetMonitorState(MonitorState.OFF);
您应该阅读更多关于类如何工作的信息。尝试一下,因为您的问题是从另一个类调用方法
using [projectName].[classLocation];
乙二醇
然后创建一个对象的实例
乙二醇
然后,要获取此类中的方法,只需调用Monitor
乙二醇
尝试此操作,因为您的问题是从另一个类调用方法
using [projectName].[classLocation];
乙二醇
然后创建一个对象的实例
乙二醇
然后,要获取此类中的方法,只需调用Monitor
乙二醇
您必须创建一个MonitorSht
的实例才能使用它。您试图访问的命名空间没有真正意义他们在类MonitorSht
中。您必须创建一个MonitorSht
的实例才能使用它。您试图访问的命名空间没有真正意义他们是在类MonitorSht
中。我今天已经开始了,我将肯定地阅读。现在我得到错误“Monitorstate在当前上下文中不存在”为了访问你的枚举,你必须先写类名,然后写枚举名,然后写枚举值,所以MonitorSht.MonitorState.OFF
。我今天就开始了,我一定要读。现在我得到错误“MonitorState在当前上下文中不存在”为了访问枚举,您必须先写类名,然后写枚举名,再写枚举值,所以MonitorSht.MonitorState.OFF
。