如何在主窗口之前显示对话窗口(例如login/选项等)? 这是我试过的(显然有一次工作 ,但不是了): XAML : <Application … Startup="Application_Startup"> 应用 : public partial class App : Application { private void Application_Startup(object sender, StartupEventArgs e) { Window1 myMainWindow = new Window1(); DialogWindow myDialogWindow = new DialogWindow(); myDialogWindow.ShowDialog(); } } 结果 :首先显示myDialogWindow。 当它closures时,Window1将按预期方式显示。 但是,当我closuresWindow1的应用程序根本不closures。
动机 最近,我search了一种方法来初始化一个复杂的对象,而不会传递大量的参数给构造函数。 我尝试过使用构build器模式,但是我不喜欢这样一个事实,即我无法在编译时检查是否真正设置了所有需要的值。 传统的build设者模式 当我使用构build器模式来创build我的Complex对象时,创build更多的是“types安全”,因为更容易看到什么参数用于: new ComplexBuilder() .setFirst( "first" ) .setSecond( "second" ) .setThird( "third" ) … .build(); 但是现在我有这个问题,我很容易错过一个重要的参数。 我可以在build()方法中检查它,但那只是在运行时。 在编译时,如果我错过了某些东西,就没有任何警告。 增强的生成器模式 现在我的想法是创build一个build设者,“提醒”我是否错过了一个必要的参数。 我的第一个尝试看起来像这样: public class Complex { private String m_first; private String m_second; private String m_third; private Complex() {} public static class ComplexBuilder { private Complex m_complex; public ComplexBuilder() { m_complex = new Complex(); […]
我想embedded一个bash脚本内的短python脚本的文本,用于说,我的.bash_profile 。 什么是最好的方式去做这样的事情? 我到目前为止的解决scheme是使用-c选项调用python解释器,并告诉解释器exec它从stdin读取的内容。 从那里,我可以构build如下所示的简单工具,使我可以在交互式提示中处理文本: function pyexec() { echo "$(/usr/bin/python -c 'import sys; exec sys.stdin.read()')" } function traildirs() { pyexec <<END trail=int('${1:-3}') import os home = os.path.abspath(os.environ['HOME']) cwd = os.environ['PWD'] if cwd.startswith(home): cwd = cwd.replace(home, '~', 1) parts = cwd.split('/') joined = os.path.join(*parts[-trail:]) if len(parts) <= trail and not joined.startswith('~'): joined = '/'+joined print joined […]
我如何列出给定分支包含的标签,相反: git tag –contains <commit> 其中“只列出包含指定提交的标签”。 如果像这样的东西不存在,我该如何testing一个提交是否被另一个提交包含,以便我可以编写脚本? 我可以这样做: commit=$(git rev-parse $branch) for tag in $(git tag) do git log –pretty=%H $tag | grep -q -E "^$commit$" done 但是我希望有一个更好的方法,因为这可能需要很长时间才能在有许多标签和提交的仓库中使用。
我有一个需要在Windows 2000上运行的应用程序。我还想使用Visual Studio 2010(主要是因为auto关键字定义的更改)。 不过,我有点困惑,因为我需要应用程序能够在较旧的操作系统上运行,即: Windows 2000 Windows XP RTM Windows XP SP1 Visual Studio 2010的运行时库取决于Windows XP SP2中引入的EncodePointer / DecodePointer API。 如果使用备用运行时库是可能的,这将打破依赖于VS2010添加的C ++ 0xfunction的代码,如std::regex ?
为什么我不能匹配string "1234567-1234567890" 与给定的正则expression式 \d{7}-\d{10} 与壳egrep像这样: egrep \d{7}-\d{10} file ?
有人可以给我一些关于Ubuntu的diff工具的build议吗? 其实我所需要的不仅仅是文件比较,还有目录比较。 我觉得在Windows下的diff工具确实是最方便的,特别是WinMerge。 但是在Ubuntu下,我能得到的效率只有TkDiff,但是它只支持文件比较? 希望能从这里得到一些帮助。
org.hibernate.HibernateException: identifier of an instance of org.cometd.hibernate.User altered from 12 to 3 实际上,我的user表是真的必须dynamic地改变它的值,我的Java应用程序是multithreading的。 任何想法如何解决它?
我一直在审查C ++ 11标准的草案版本。 特别是关于lambda的章节,我对于不引入多态lambdaexpression式的理由感到困惑。 例如,在100001种方法中,可以使用多态lambdaexpression式,我希望我们可以使用如下的代码: template<typename Container> void foo(Container c) { for_each(c.begin(), c.end(), [](T& t) { ++t; }); } 原因是什么: 委员会是否耗尽了时间? 那个多态的lambdas太难实现了? 或者也许他们被视为PTB不需要? 注意:请记住上面的例子不是唯一的,它只是作为代码types的指南。 仅仅专注于为上述代码提供解决方法的答案将不被视为有效! 相关资料: 用于C ++的Lambdaexpression式和闭包 (文档编号N1968 = 06-0038) lambda函数可以模板化吗?
我已经在桌面机器(Windows 7)上创build了一个Git仓库: git init git add <all my files> git commit -m "added my files" 现在我在局域网上的一台机器上安装了一个新的Ubuntu Server 10.10,并安装了OpenSSH。 我的主目录是/home/jonas ,我创build了一个目录~/code/来包含我的项目。 我可以使用Putty从Windows 7login到Ubuntu服务器。 我用sudo apt-get install git在服务器上sudo apt-get install git 添加远程存储库 现在我想将我的桌面上的Git存储库添加到服务器。 我试图按照从使用Git的语用版本控制的指示。 从我的桌面我运行这些命令: git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git git push origin master 但是我得到了这个错误信息: fatal: 'jonas@192.168.1.180/home/jonas/code/myproject.git' does not appear to be a git repository fatal: The […]