小编Mat*_*hew的帖子

什么是最好的开源,Linux兼容的UML建模工具?

我一直在寻找不同的选项,甚至一些最流行的开源工具似乎只有Windows(例如StarUML).对于像Visio和Rational Rose for linux这样的程序,最好的开源替代方案是什么?

linux uml open-source

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

在静态类中使用状态是不好的做法吗?

我想做这样的事情:

public class Foo {
    // Probably really a Guid, but I'm using a string here for simplicity's sake.
    string Id { get; set; }

    int Data { get; set; }

    public Foo (int data) {
        ...
    }

    ...
}

public static class FooManager {
    Dictionary<string, Foo> foos = new Dictionary<string, Foo> ();

    public static Foo Get (string id) {
        return foos [id];
    }

    public static Foo Add (int data) {
        Foo foo = new Foo (data);
        foos.Add (foo.Id, foo); …
Run Code Online (Sandbox Code Playgroud)

c# singleton static global-variables

11
推荐指数
1
解决办法
3800
查看次数

如果它在包内,为什么我不能运行我的java Hello World程序?

我创建了一个名为"Hello.java"的文件,如下所示:

public class Hello {
        public static void main(String[] args) {
                System.out.println("Hello, world!");
        }
}
Run Code Online (Sandbox Code Playgroud)

javac Hello.java然后我跑了,java Hello一切都按预期工作了.

然后我将该行添加package testpackage;到文件的顶部,并将其放在目录中/home/matthew/Desktop/hellotest/testpackage.我输入.:/home/matthew/Desktop/hellotest了我的CLASSPATH,并以与以前相同的方式编译和运行.但是现在,我收到了这个错误:

matthew@matthew-laptop:~/Desktop/hellotest/testpackage$ java Hello 
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: testpackage/Hello)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: Hello. Program will exit.
Run Code Online (Sandbox Code Playgroud)

为什么它可以独立工作,而不是在一个包中?

java namespaces packages

11
推荐指数
2
解决办法
6514
查看次数

实现IEnumerable的类实例的技术上正确的术语是什么?

我们称这样的实例为"集合"吗?一个"可数"?或者是其他东西?我问我的两个主要目标是:

  1. 要被其他开发人员理解,而不必解释该类实现IEnumerable.
  2. 在技​​术上正确和准确.

.net c# collections ienumerable terminology

11
推荐指数
2
解决办法
263
查看次数

bzr:在使用bazaar进行一些提交后恢复已删除的文件

我想知道是否可以从旧版本恢复已删除的文件(一种干净的方式来执行此操作)

我已经重命名了一个文件用于某些测试,而不是我提交了所有的工作(我忘了重命名文件)并做了很多其他的提交......当我意识到,为时已晚......

此致,艾曼

bazaar file restore commit

9
推荐指数
2
解决办法
4271
查看次数

集市的GUI,相当于gitk

什么是bzr维护的GUI,也许像git的gitk?

user-interface bazaar

8
推荐指数
1
解决办法
1605
查看次数

为什么CodeContracts警告我"需要未经证实:索引<@ this.Count"即使我已经检查了计数?

我的代码看起来像这样:

public class Foo<T> : ObservableCollection<T>
{
    private T bar;

    public Foo(IEnumerable<T> items)
        : base(items.ToList())
    {
        Contract.Requires(items != null);

        if (this.Any())
            this.bar = this[0]; // gives 'requires unproven: index < @this.Count'
    }
}
Run Code Online (Sandbox Code Playgroud)

不应该Any为索引0 的支票帐户?我做错了什么,或者CodeContracts是不是认不出这种情况?

.net c# code-contracts

8
推荐指数
2
解决办法
779
查看次数

我应该在从程序代码调用Execute之前检查ICommand的CanExecute方法吗?

ICommand在XAML中使用s时,WPF使用该CanExecute方法启用或禁用与该命令关联的控件.但是如果我Execute从程序代码中调用呢?我应该首先检查CanExecute以确保该命令可以执行,还是应该Execute为我处理此检查?

换句话说,我应该这样做:

if (someCommand.CanExecute(parameter, target))
    someCommand.Execute(parameter, target);
Run Code Online (Sandbox Code Playgroud)

或者就是这样:

someCommand.Execute(parameter, target);
Run Code Online (Sandbox Code Playgroud)

.net c# wpf routed-commands icommand

8
推荐指数
2
解决办法
1626
查看次数

当我改变g ++参数的顺序时,为什么我的程序无法链接?

可能重复:
为什么gcc中'-l'选项的顺序很重要?

我开始学习Boost单元测试框架.我有一个最小的测试套件:

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK 
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE( test1 ) {
    BOOST_CHECK( 2 == 1 );
}
Run Code Online (Sandbox Code Playgroud)

首先我编译源代码:

g++ -c src/tests.cc -o src/tests.o
Run Code Online (Sandbox Code Playgroud)

这完成没有错误.然后我可以链接如下:

g++ -o tests src/tests.o -lboost_unit_test_framework
Run Code Online (Sandbox Code Playgroud)

这也完成没有错误.生成的二进制文件执行预期结果.但是,如果我交换了src/tests.o和的顺序-lboost_unit_test_framework,我会收到链接器错误:

g++ -o tests -lboost_unit_test_framework src/tests.o
Run Code Online (Sandbox Code Playgroud)
src/tests.o: In function `main':
tests.cc:(.text+0x29): undefined reference to `boost::unit_test::unit_test_main(bool (*)(), int, char**)'
src/tests.o: In function `test1::test_method()':
tests.cc:(.text+0x9d): undefined reference to `boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring, unsigned int, boost::unit_test::basic_cstring)'
tests.cc:(.text+0x146): undefined reference to `boost::test_tools::tt_detail::check_impl(boost::test_tools::predicate_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring, unsigned int, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned int, …

c++ linker boost compilation g++

7
推荐指数
1
解决办法
3133
查看次数

如何在WPF中创建一组广播菜单项?

WPF似乎缺乏RadioMenuItem类或类似的功能.在Windows.Forms,菜单项有一个RadioChecked属性,但WPF菜单项只有IsChecked.我可以把实际的RadioButtons 放进去MenuItem,但这感觉很怪异,看起来很尴尬.

如何创建一组菜单项,其功能类似于WPF菜单中的单选按钮?有关参考,请参阅IE8中的"缩放"菜单.

.net c# wpf radio-button winforms

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