在C#中,是否可以动态创建新函数来定义变量?
我知道
string getResult() {
if (a)
return "a";
return "b";
}
String result = getResult();
Run Code Online (Sandbox Code Playgroud)
是可能的,但我正在寻找类似的东西
String result = new string getResult() {
if (a)
return "a";
return "b";
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样,有人会证明吗?
编辑 这是可能的
编辑:最终 - 解决方案
这是我野蛮地黑客攻击的最终结果
Func<string> getResult = () =>
{
switch (SC.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
};
TrayIcon.Text = "Service Status - " + …Run Code Online (Sandbox Code Playgroud) 我正在寻找在 C# 中捕获单个屏幕像素颜色的最快方法到目前为止,我正在使用带有 System.Threading.Timer 的 GDI+ 方法,该方法在回调中调用捕获函数,但我正在寻找最实现我的目标的最佳方式
我当前的代码运行如下
System.Threading.Timer stTimer = new System.Threading.Timer(timerFired, null, 0, 1);
Run Code Online (Sandbox Code Playgroud)
它调用包含此方法的函数
[DllImport("gdi32.dll")]
private static extern int BitBlt(IntPtr srchDC, int srcX, int srcY, int srcW, int srcH, IntPtr desthDC, int destX, int destY, int op);
[DllImport("user32.dll")]
static extern bool ReleaseDC(IntPtr hWnd, IntPtr hDC);
Bitmap screenPixel = new Bitmap(1, 1);
IntPtr hdcMem = CreateCompatibleDC(IntPtr.Zero);
using (Graphics gdest = Graphics.FromImage(screenPixel))
{
using (Graphics gsrc = Graphics.FromHwnd(appWindow))
{
int y = 540;
Point loc = new Point(xVal, y); …Run Code Online (Sandbox Code Playgroud)