小编Sim*_*zie的帖子

使用包含变量名称的字符串访问变量

我正在从数据库中读取字符串变量的名称(例如"_datafile").我想知道如何使用此字符串访问程序中的命名变量.

我已经尝试过使用字典,哈希表和switch-case语句,但我想让变量动态解析.这可能吗?

c# string reflection variables

7
推荐指数
2
解决办法
5万
查看次数

CLR定义的方法如[委托] .BeginInvoke记录在哪里?

[编辑,完全改写:]似乎我的问题确实措辞不好,而且收到的也很差.所以我希望这个完整的改述有助于......

MSDN告诉清楚指定: Control.BeginInvoke()在创建控件的句柄的线程上执行委托,通常这将是GUI线程.和Dispatcher.BeginInvoke()将在其中创建调度对象的线程上运行.这将是我创建的任何线程.

但是对于代理" CLR自动定义 BeginInvoke和EndInvoke",这些调用在ThreadPool-thread上运行.除了这种略微令人惊讶的不同行为,我想知道如何找到自动实现的所有函数的规范.

例如:Intelli-sense显示我的委托有一个DynamicInvoke().类System.Delegate {}确实有一个DynamicInvoke(),这可能意味着我的委托继承了它.但Delegate {}没有BeginInvoke().而且委托{}有几个我的代表没有的功能.我的委托也得到一个GetObjectData()方法.这似乎来自ISerializable.

总而言之,一个委托似乎从(1)CLR"自动"获取其方法,(2)Delegate {}的某个子集可能是MulticastDelegate {},并且可能(3)ISerializble.我在哪里可以找到委托获得的所有方法的全面规范?特别有趣的是BeginInvoke(),它是精确的签名,因为前面提到的两个具有该名称的方法具有不同的签名集.

[有人在编辑中建议"委托"是"代表".我敢说,事实并非如此.

谢谢

c# documentation msdn begininvoke

7
推荐指数
2
解决办法
3196
查看次数

寻求对SICP练习1.5的一些解释

这个问题可以在这里找到.

在书中,我发现正常订单评估的一个描述是:

"另一种评估模型不会在需要它们的值之前评估操作数.相反,它首先将操作数表达式替换为参数,直到它获得仅涉及原始运算符的表达式,然后执行评估."

我还简要地找到了另一种描述:"完全扩展然后减少".

在练习中,我认为定义p是类似的(lambda () (p)),它永远不会扩展到原始操作符,因此永远不会终止.

然而,另一方面,在搜索到这个问题的一些答案之后,似乎正常的订单评估应该终止,因为它只根据需要评估事物,实际上(p)不会被评估.

所以我认为"扩展"和"评估"之间必然存在一些差异,而解释者在这里做的是评估事物.

究竟有什么区别,或者我错过了哪些观点?

另一个问题:我应该说" (p)被评估为(p)"还是" (p)被扩展为(p)"?

lisp scheme sicp

7
推荐指数
2
解决办法
1484
查看次数

ViewModel MVC 3

我是MVC的新手.我正在阅读以下 教程.

我在它要求以下代码的部分

[HttpPost]
public ViewResult Edit(UserModel um) 
{

  if (!TryUpdateModel(um)) 
  {
    ViewModel.updateError = "Update Failure";
    return View(um);
  }

  // ToDo: add persistent to DB.
  _usrs.Update(um);
  return View("Details", um);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用ViewModel时收到错误:

"ViewModel的名称在当前上下文中不存在."

Intellisense不会将ViewModel显示为选项.

c# asp.net-mvc-3

6
推荐指数
1
解决办法
4621
查看次数

使用双显示器使用AppleScript定位窗口

我有两个显示器设置,我试图在第二个显示器中定位应用程序的窗口,但我做的任何事情似乎都没有.例如,我正在使用我的笔记本电脑,终端窗口在屏幕上最大化.然后我插上一个外接显示器.然后我想运行applescript并让终端在更大的第二台显示器上最大化.

这就是我现在所拥有的:

set monitorTwoPos to {1050, -600}
set monitorTwoSze to {1200, 1920}

tell application "Microsoft Outlook"
    set position of window 1 to monitorTwoPos
    set size of window 1 to monitorTwoSze
end tell
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

/Users/vcutten/AppleScripts/SpacesWork.scpt:1291:1332: execution error: 
Microsoft Outlook got an error: Can’t make position of window 1 into type specifier. (-1700)

我很确定我只是使用设置位置和设置大小完全错误:(当我使用边界它有点工作...

奖金问题:如何在打开的窗户中循环并获得它们的大小?谢谢!

macos bash applescript multiple-monitors

6
推荐指数
1
解决办法
9169
查看次数

实例化javascript对象并在一行中填充其属性

有没有办法在构造函数中完成所有这些操作?

  obj = new Object();
  obj.city = "A";
  obj.town = "B";
Run Code Online (Sandbox Code Playgroud)

javascript jquery

6
推荐指数
3
解决办法
3761
查看次数

使用Process.Start()启动system32\winsat.exe时出现"找不到文件"错误

我正在尝试使用以下代码运行Windows系统评估工具(winsat.exe):

System.Diagnostics.Process WinSPro =
    new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo WinSSInfo = 
    new System.Diagnostics.ProcessStartInfo();
WinSSInfo.FileName = "cmd.exe";
WinSSInfo.Arguments = "/k winsat.exe";
WinSPro.StartInfo = WinSSInfo;
WinSPro.Start();
Run Code Online (Sandbox Code Playgroud)

如果我只调用cmd.exe,这个代码有效,即使我调用regedit.exe它仍然有效.但是,当我尝试将winsat.exe作为cmd.exe的参数调用时,它会失败.命令提示符显示:

'winsat.exe' is not recognized as an internal or external command, 
operable program or batch file.

我尝试了几种方法来调用winsat.exe:

  1. 直接通过指定调用它"winsat.exe"ProcessStartInfo.FileName.它失败了Win32Exception:The system cannot find the file specified

  2. 如上所述,使用完整路径 - @"c:\windows\system32\winsat.exe".它失败并出现同样的错误.

  3. 以系统管理员身份运行代码.它仍然失败.

  4. 如编码示例中那样调用winsat.exe.它像我之前解释的那样失败了.

有趣的是,从代码启动的命令提示符只能在c:\ windows\system32中看到.dll文件.

有谁知道为什么winsat.exe无法启动System.Diagnostics.Process?有没有我误解的限制?

谢谢,

雷克斯

c# system.diagnostics process wow64

6
推荐指数
1
解决办法
5076
查看次数

如何使用设备映射器将docker容器移动到另一台计算机而不使用docker命令

这是情况

重启后,由于磁盘空间不足,docker无法重启.由于很多错误的决定,我们现在只留下一份副本/var/lib/docker (因此我们无法运行docker我们想要移动到运行相同操作系统/版本的docker的其他机器(1.8.3)

当我们试图天真地取代/var/lib/docker旧的时,我们得到了

Feb 20 08:06:33 example.com systemd[1]: Starting Docker Application Container Engine...
Feb 20 08:06:33 example.com docker[2164]: time="2016-02-20T08:06:33.111285635+01:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: Base Device UUID verification failed. Possibly using a different thin pool then last invocation:exit status 2"
Feb 20 08:06:33 example.com docker[2164]: time="2016-02-20T08:06:33.111382676+01:00" level=fatal msg="Error starting daemon: error initializing graphdriver: Base Device UUID verification failed. Possibly using a different thin pool then last invocation:exit status 2"
Feb …
Run Code Online (Sandbox Code Playgroud)

docker

6
推荐指数
1
解决办法
1214
查看次数

识别DLL的来源

如何确定用于创建DLL的编译器?

我有一个DLL - 是否有可能找到DLL的创建方式(.NET/C++/Labview等).我没有DLL文件的来源.我也试过检查反编译器,但它没有提供有关DLL是如何创建的任何信息.

compiler-construction dll

5
推荐指数
1
解决办法
2224
查看次数

命令提示符中的全局变量

如何在批处理脚本中声明全局变量?

例子:

测试1.bat:

set testvar=C:\Windows
echo %testvar%
Run Code Online (Sandbox Code Playgroud)

现在我应该可以在其他批处理脚本(test2.bat)中使用这个 testvar

测试2.bat:

echo %testvar%
Run Code Online (Sandbox Code Playgroud)

感谢致敬!

command dos batch-file

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