小编The*_*RFG的帖子

C#Variable = new function(){};

在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# variables function

10
推荐指数
1
解决办法
1万
查看次数

在 C# 中获取屏幕像素颜色的最快方法

我正在寻找在 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)

c# windows optimization screen-scraping screen-capture

3
推荐指数
1
解决办法
1万
查看次数